Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Insert excerpt
HELP100:_BannersHELP100:
_Banners
nameanalysisscreen
nopaneltrue

Overview

When creating apps or testing functionality, it is often necessary to create test data. There are a number of ways to quickly create test data do this in PhixFlow, which can be manually edited and added to.  On this page, the . The following methods will be covered:

using existing data and making amendments.
  • creating large datasets using a third-party data generator (mockeroo.com)
  • Using Input/Output Multipliers - This method is best for small datasets, with specific examples. The data can be easily rolled back and reset to its original state. For example, testing the results of a function



Video

Iframe
allowfullscreentrue
srchttps://www.

Using External APIs - This method is best for large datasets and existing data.

youtube.com/embed/HBvrPeLJ2_M?si=q623PIXOjczJsTKL&rel=0&ytp-pause-overlay=0&list=PLbPt6SI1Zhb9JAD6TfD-qGC6vzZXOznvn
width800
height450


Creating an Editable Grid 
Anchor
Grid
Grid

Use a simple ERD and Screen setup to create an editable grid. 

Step 1: Create a table

Expand
titleHow?
  1. On an

    Insert excerpt
    HELP100:_erdHELP100:
    _erd
    nopaneltrue
    , either:

    1. Create a new table by dragging

      Insert excerpt
      HELP100:_tablesHELP100:
      _tables
      nopaneltrue
       from the toolbar onto your ERD canvas

    2. Add an existing table by clicking 
      Insert excerpt
      HELP100:_tablesHELP100:
      _tables
      nopaneltrue
       on the toolbar, then dragging a table from the
      Insert excerpt
      HELP100:_repositoryHELP100:
      _repository
      nopaneltrue
       onto your ERD canvas 
    3. Import an Excel a CSV file by dragging it from your PC onto your ERD canvas
  2. If you create a new table, PhixFlow automatically adds the following attributes to the table:

    1. Insert excerpt
      HELP100:_key_primaryHELP100:
      _key_primary
      nopaneltrue
      : UID

    2. Insert excerpt
      HELP100:_display_nameHELP100:
      _display_name
      nopaneltrue
      : Name 

    Add as many new attributes to your table as
  3. you need by clicking If you import a CSV file, add the above UID attribute to your table and set it as the 
    Insert excerpt
    _key_primary
    _key_primary
    nopaneltrue
     
  4. Add the attributes you require to your table by clicking 

    Insert excerpt
    HELP100:_addIconHELP100:
    _addIcon
    nopaneltrue
    Add on the table, and give your attributes appropriate namesnames

    1. New attributes only require a valid Name and Type

Step 2: Create a Screen 

 in the toolbar Click the tickbox next to each attribute, or click the top tickbox to select all of the attributes, and drag them onto your screen
  1. Image RemovedImage Added
  • PhixFlow will ask how you would like the attributes to be displayed, choose
  • Expand
    titleHow?
    1. To create a screen using your ERD data, click 
      Insert excerpt
      HELP100:_more_options_erd_IconOnlyHELP100:
      _more_options_erd_IconOnly
      nopaneltrue
       on your table and choose 
      Insert excerpt
      HELP100:_screen_icon_onlyHELP100:
      _screen_icon_only
      nopaneltrue
       Create Screen
    2. On the Create Screen wizard, enter the following:
      1. Name: give your screen an appropriate namename 
      2. Open Maximised: toggle 
        Insert excerpt
        HELP100:_toggle_offHELP100:
        _toggle_off
        nopaneltrue
      3. Description: give your screen an appropriate description to indicate its purpose
      4. Template: choose Tile with Buttons, Tile no Buttons or Edit Form
        1. Image RemovedFor this example, Edit Form has been chosen
      5. Click Create Screen
    3. The Available Attributes selector will automatically appear, press the cross to close this
    4. To select the attributes you wish to see on your screen, select
    Insert excerpt
    HELP100:_attributesHELP100:_attributes
    nopaneltrue
    Insert excerpt
    HELP100:_gridHELP100:
    _grid
    nopaneltrue
    1. Image RemovedImage Added
  • PhixFlow will ask if you would like to add actions, choose Yes
  • On the Grid Actions wizard, drag Delete Selected Records onto the Delete button on your screen - this is the only button you need 
  • Close the Grid Actions and Available Attribute wizards
  • Step 3: Set up the Screen

    Expand
    titleHow?
    1. Click Right-click on the grid on your screen to highlight it in the Layers panel on the left within the Body
    2. The View Component Properties will show on the right, click the View hyperlink 
      1. Image Removed
    3. In the View Propertiesand select
      Insert excerpt
      _view_show_config
      _view_show_config
      nopaneltrue
      1. Image Added
    4. On the
      Insert excerpt
      _property_tabs
      _property_tabs
      nameaction
      nopaneltrue
      , toggle on 
      Insert excerpt
      HELP100:_toggle_onHELP100:
      _toggle_on
      nopaneltrue
       Auto Save
      1. Note: Enabling Auto Save
      Click
      1. automatically saves any changes made to the data 
      2. Click 
        Insert excerpt
      HELP100:
      1. _finish
      HELP100:
      1. _finish
        nopaneltrue
    5. In the Layers panel, click on the area FieldContainer to containing the grid to open its Properties on the right
    6. Click on the 
      Insert excerpt
      HELP100:_property_tabsHELP100:
      _property_tabs
      namestyle
      nopaneltrue
       and within the Style Settings section, change ensure the Width and Height to 100% 
        Click
        1. Click 
          Insert excerpt
        HELP100:
        1. _finish
        HELP100:
        1. _finish
          nopaneltrue
      1. Click on the Name attribute header on the grid to open the View Attribute Properties on the right
        1. Image Added
      2. On the 
        Insert excerpt
        HELP100:_property_tabsHELP100:
        _property_tabs
        namestyle
        nopaneltrue
        , within in the Grid Settings section, untick Read Only
        1. In PhixFlow version 11 and older, this option is on the 
          Insert excerpt
          _property_tabs
          _property_tabs
          nopaneltrue
        2. Click 
          Insert excerpt
          _finish
          _finish
          nopaneltrue
      3. Repeat this step for all of your attribute headers, except UID
        1. Note: Unticking Read Only will allow you to manually enter information into these columns on your grid
      4. Then clickclick 
        Insert excerpt
        HELP100:_finishHELP100:
        _finish
        nopaneltrue
      5. With Auto Save set up, the screen no longer requires a Save button
      6. To delete the Save button, click on it on the screen to highlight it in the Layers, right click it in Layers and select 
        Insert excerpt
        HELP100:_permanentlyDeleteHELP100:
        _permanentlyDelete
        nopaneltrue

      Adding a Button

      1. Open the Palette by clicking 
        Insert excerpt
        HELP100:_paletteHELP100:
        _palette
        nopaneltrue
         on the toolbar
      2. Expand the Buttons - Primary section and drag the Add button onto your screen - the screen will highlight the areas where the button should be dropped
      3. Give your button a name
        1. Optional: In the Layers panel, expand the area Window CRUD Bar. Then, while holding shift, drag and drop your Add button onto either the Left or Right area within the Window CRUD Bar

      Check Point

      At this point, your screen should look similar to this:

    Step 4: Add New Records via an Actionflow

    Expand
    titleHow?
    1. Right-click on your new Add button and choose 
      Insert excerpt
      HELP100:_actionflow_addHELP100:
      _actionflow_add
      nopaneltrue
      1. Give your
      actionflow
      1. Actionflow a name
    2. To configure the input connection, within the Connections section on the left, click on Click to Connect
    3. Choose the On Click Action Event, then select Connect Input
    4. Drag the Calculate node from the
      Insert excerpt
      _action_calculate
      _action_calculate
      nopaneltrue
       action from the toolbar onto the canvas
      1. Give it a suitable name
    5. The Properties for the Calculate node will
      Insert excerpt
      _property_settings
      _property_settings
      nopaneltrue
       for the Calculate action will show on the right
      1. If these are not open, click the Calculate action to reopen them
    6. In the Output Attributes section, add a new attribute by selecting 
      Insert excerpt
      HELP100:_addIconHELP100:
      _addIcon
      nopaneltrue
      1. Give it a name and set the expression to "new"
    7. Drag the Save node from a
      Insert excerpt
      _action_save
      _action_save
      nopaneltrue
       action from the toolbar onto the canvas, give
      1. Give it a name
      , set
      1. Set the Type to Auto Insert/Update
      , and from
      1. On the Table dropdown list, choose
      your table
      1. the table you made earlier on your ERD
    8. Connect the out pipe from the Calculate node to the Save node
      1. Image RemovedImage Added
    9. Map across your Output Attribute from the Calculate node onto the Save node
      1. Image RemovedImage Added
    10. Drag the Input Connection Point onto the Calculate node 
      1. Image RemovedImage Added
    11. Close the Actionflow and open the screen you created earlier
    12. Insert excerpt
      HELP100:_lockHELP100:
      _lock
      nopaneltrue
       the screen, then select the Add button
    13. The Actionflow will fire and a new record will be created on the grid, with a unique ID (UID)
    14. Double click on the fields to manually enter information 
    15. Repeat these steps of adding a new record and updating the information as many times as required
    16. Each record will save automatically

    Check Point

    At this point, your screen should look similar to this:

    Using External APIs 
    Anchor
    API
    API

    Configure an

    Insert excerpt
    _analysisModel
    _analysisModel
    nopaneltrue
     to import data stored outside of PhixFlow using an API.

    Create a Multi-Record Table using an API

    This example uses the below three elements to create dynamic data. The table in this example will pull across data, as stipulated by the attributes, and this data will change each time the user clicks 

    Insert excerpt
    _run_analysis
    _run_analysis
    nopaneltrue
    .

    The HTTP Datasource is used to connect to the external source, the HTTP Collector then reads the data, and the Table stores the data in PhixFlow. 

    Image Added

    For more information on how these three elements work and for a detailed example, see Importing Data Through an API.

    Expand
    titleHow?
    1. Prepare your API data and ensure it is in JSON format. For this example, we have created a data schema and mock API using https://www.mockaroo.com/mock_apis
    2. On an 
      Insert excerpt
      _analysisModel
      _analysisModel
      nopaneltrue
      , create a new 
      Insert excerpt
      _http_datasource
      _http_datasource
      nopaneltrue
    3. Set up your 
      Insert excerpt
      _http_datasource
      _http_datasource
      nopaneltrue
       Properties to look similar to the below settings, and ensure your URL matches your API source
      1. Image Added
    4. Hover over your
      Insert excerpt
      _http_datasource
      _http_datasource
      nopaneltrue
       and select 
      Insert excerpt
      _http_collector_add_new
      _http_collector_add_new
      nopaneltrue
       on the hover menu
    5. Set up the 
      Insert excerpt
      _http_collector
      _http_collector
      nopaneltrue
       Properties to look similar to the below settings, and ensure your URL passes in your API key
      1. Image Added
    6. Hover over your 
      Insert excerpt
      _http_collector
      _http_collector
      nopaneltrue
       and select 
      Insert excerpt
      _table_new
      _table_new
      nopaneltrue
    7. Set up the 
      Insert excerpt
      _tables
      _tables
      nopaneltrue
       Properties to look similar to the below settings, and ensure the 
      Insert excerpt
      _attributes
      _attributes
      nopaneltrue
       you wish to display on your view are set up
      1. Image Added
    8. Insert excerpt
      _run_analysis
      _run_analysis
      nopaneltrue
       on your 
      Insert excerpt
      _tables
      _tables
      nopaneltrue
      , then 
      Insert excerpt
      _view_show
      _view_show
      nopaneltrue
       to see your data
      1. Image Added

    Using Input and Output Multipliers 
    Anchor
    Multiplier
    Multiplier

    Use a simple table configuration on an 

    Insert excerpt
    HELP100:_analysisModelHELP100:
    _analysisModel
    nopaneltrue
    .

    Create a Multi-Record Table using an Array

    This example uses an array to create static data. The table in this example will produce the exact records as stipulated in the Input Multiplier.

    Expand
    titleHow?
    1. On an 
      Insert excerpt
      HELP100:_analysisModelHELP100:
      _analysisModel
      nopaneltrue
      , create a blank Calculate 
      Insert excerpt
      HELP100:_tablesHELP100:
      _tables
      nopaneltrue
    2. Within the Table's 

      Insert excerpt
      HELP100:_property_tabsHELP100:
      _property_tabs
      nopaneltrue
      , add 
      Insert excerpt
      HELP100:_attributesHELP100:
      _attributes
      nopaneltrue
       to the table, which will act as column headers

      1. Add the Expression _inputMultiplier, followed by .1, .2, .3, etc. to the relevant attributes
    3. In the Analysis Options section, in the Input Multiplier box, add an array, like the example here

      1. Code Block
        titleInput Multiplier
        [
            [1,'CHAIR',100],
            [2,'TABLE',430],
            [3,'MONITOR',800]
        ]


    4. Insert excerpt
      HELP100:_finishHELP100:
      _finish
      nopaneltrue
       the Properties, then 
      Insert excerpt
      HELP100:_run_analysisHELP100:
      _run_analysis
      nopaneltrue
       on the table
      1. Hover over the table and select 
        Insert excerpt
        HELP100:_view_showHELP100:
        _view_show
        nopaneltrue
      2. For this example, the data shows three records, with each record assigned the UID, Item name and Quantity as specified by the Input Multiplier, along with the Last Updated date 


    Tip

    Alternatively, an Output Multiplier can be used to create data. Repeat the steps above, but with the following changes:

    1. The Expression for all of your attributes must be _outputMultiplier, followed by .1, .2, .3, etc.
    2. Add the same array as above, but to the Output Multiplier box
    3. Add 1 in the Input Multiplier box to indicate the number of times the table should run

    Image Removed

    Using External APIs  AnchorAPIAPIConfigure an Insert excerptHELP100:_analysisModelHELP100:_analysisModelnopaneltrue to import data stored outside of PhixFlow using an API.

    Create a Multi-Record Table using an API

    This example uses three elements, a Insert excerptHELP100:_http_datasourceHELP100:_http_datasourcenopaneltrue, Insert excerptHELP100:_http_collectorHELP100:_http_collectornopaneltrue and Insert excerptHELP100:_tablesHELP100:_tablesnopaneltrue to create dynamic data. The table in this example will pull across data, as stipulated by the attributes, and this data will change each time the user clicks  Insert excerptHELP100:_run_analysisHELP100:_run_analysisnopaneltrue.

    The HTTP Datasource will connect to the external source, the HTTP Collector will read the data and the Table will store the data in PhixFlow. 

    Image Removed

    For more information on how these three elements work, see Importing Data Through an API.

    Expand
  • Prepare your API data and ensure it is in JSON format. For this example, we have created a data schema and mock API using https://www.mockaroo.com/mock_apis
  • On an  Insert excerptHELP100:_analysisModelHELP100:_analysisModelnopaneltrue, create a new  Insert excerptHELP100:_http_datasourceHELP100:_http_datasourcenopaneltrueSet up your  Insert excerptHELP100:_http_datasourceHELP100:_http_datasourcenopaneltrue to match the below settings
    1. Image Removed
    Hover over your Insert excerptHELP100:_http_datasourceHELP100:_http_datasourcenopaneltrueCreate a new  Insert excerptHELP100:_http_collectorHELP100:_http_collectornopaneltrue and set it up to match the below settings
    1. Image Removed

    An HTTP datasource is a modelling object whose properties provide the information needed to connect to an external source of data via HTTP. This may be a web site, a web service or some other target that allows XML, HTTP or text data to transferred over HTTP.

    You must have one HTTP datasource for each HTTP location to which you need to connect. Each HTTP datasource must have at least one HTTP datasource instance. You can add several instances if you want to configure different settings.

    In an analysis model, you can add:

    • HTTP Collector to load data from a site or service.
    • HTTP Exporter to update the site or service with processed data from the model.
    An HTTP collector reads data from a HTTP Datasource. The collector defines how the data needed from the datasource is extracted to be used in PhixFlow.

    Image Added