Overview
Streams are a key model component. They represent a structured store of data within PhixFlow receiving data from one or more components, processing it then storing it.
For information about the properties toolbar, and about the sections Parent Details, Analysis Models, Description and Audit Summary, see Common Properties. We recommend you always add a Description that explains the purpose of the item you are creating.
For a full list of all the PhixFlow property tabs and windows, see Properties, Windows, Menus and Toolbars.
The tab toolbar has the following additional buttons:
Error rendering macro 'excerpt-include' : No link could be created for '_record_sets_show'.
,
Show view,
Run Analysis.
When you make changes to streams and stream attributes, PhixFlow automatically publishes them to the stream data tables in the database; see Publishing Streams.
Stream Properties
Basic Settings
Field | Description |
---|
Name | The name of the stream. |
Model Validation Status | When you save changes to the properties of a table or view attribute, PhixFlow validates that the properties are set correctly. If there is an issue with the properties, PhixFlow indicates the status of the validation check:- UNKNOWN - PhixFlow has not run the validation check yet. Save the properties to run the check.
- SUCCESS - the properties are set correctly
- ERROR - PhixFlow has found issues that need attention. Scroll down the properties to the Errors section where you will find the list of properties that need correcting.
When a table or view attribute has validation errors, PhixFlow also reports that the parent application and package have errors. To run validation checks on all tables, view attributes, applications and packages, use Administration Menu → More → Validate Model Objects. |
Enabled | Tick to include the steam during analysis runs. |
Static Data | Tick to set the stream to hold static data. Static data is reference or "look up" data that is used as part of a stream calculation. Updating a static streamIn general, static streams are not updated during an analysis run that is initiated on another stream in the model. The exception is when an incoming push pipe is triggered, as this will force the stream to update itself. Instead, to update the data in a static stream you must run analysis directly on the stream via: |
Period | Select the time period for the stream: - Transactional: allows multiple users to run independent analysis tasks at the same time.
- Non-transactional
- Daily: generate or collect data every day.
- Monthly: generate or collect data every month.
- Variable: generate or collect data since the more recent run of the stream to the current date.
As transactional streams need a UID attribute, PhixFlow automatically creates this stream attribute if it does not already exist. |
Default Data Range | This option affects the following items for which this is the backing stream: - stream views
- dashboards
- card layout components.
Select which recordset data is displayed. - Latest: displays the records from the latest recordset only. Recommended when recordsets are updated by batch process, and therefore have a Period of Daily or Monthly.
- All: displays the records from all recordsets. Recommended when recordsets are updated incrementally and therefore have a Period of Transactional or Variable.
If no option is is selected, PhixFlow assumes the default data range is All. You can override this setting using the options Use Custom Data Range and Data Range available: You cannot override this setting for a stream view. |
Stream Type | Select the stream type. The type indicates the function that operates on the data. - Aggregate Stream
- Calculate Stream
- CalculateBySet Stream
- Cartesian Stream
- Merge Stream
|
Supersede Items on Pipe | Select a loop pipe from the list of those available. A loop pipe links the stream back to itself. It compares new data records to the existing data records. If there is a repeated record PhixFlow uses the new one in the stream and marks the old one as superseded . |
Audit Manual Changes | This check box is available when the Period is Transactional. Tick to update and delete initiated by stream actions (not those carried out by analysis runs) will automatically mark the existing record as superseded and create a new streamset. The new versions of the updated records will be placed in the new streamset. Inserts will simply create a new streamset, and add the inserted record into that streamset. When Audit Manual Changes is first set, the attributes UpdateAction , UpdatedByName , UpdatedByID and UpdatedTime will be created if they do not already exist. If you do not require these attributes, delete them. For the UpdatedByName attribute, PhixFlow creates a field of 250 characters. (In versions up to 8.0.4, the field was 50 characters long.) UpdateAction must be set to the type of action, such as INSERT, UPDATE or DELETE. The other attributes will be populated if they exist on the stream:
UpdatedByName - the name of the user that performed the update, UpdatedByID - the internal id of the user that performed the update UpdatedTime - the date and time the update was made
|
Attributes
The grid contains a list of the stream attributes in the stream. This section has a toolbar with standard buttons and Show Table and Show File Collectors.
The grid lists the attributes (data columns) in the stream data. To edit the properties of an attribute, double-click the attribute name to open the Attribute properties.
To remove an attribute from the stream, select the attribute and click Delete in the toolbar.
To add a new attribute to the list, click Create New to open a new Attribute properties tab.
To add an existing attribute to the list:
- Click Show Table to list the streams available in the repository.
- Expand a stream to show its attributes.
- Drag an attribute into this list to add it.
To edit only the expression:
- Right-click an attribute name to display the context menu.
- Select Edit the expression field.
- PhixFlow opens a simple text editor box
- Make changes to the attributes expression.
- Click to save your changes.
Multipliers and Filters
Field | Description |
---|
Input Multiplier | The input multiplier expression should evaluate to a list of one or more values. For each value in the list, the internal variable _inputMultiplier will be set to that value and the whole stream processing will be repeated i.e. the pull pipes will be read and the data from those pipes processed to generate output stream items to be added to the current streamset. For example : do ( $aRange = [], addElement($aRange, rng.RangeFrom), addElement($aRange, rng.RangeTo), $bRange = [], addElement($bRange, $aRange), $bRange ) Where rng.RangeFrom = 500 and rng.RangeTo = 1000, the above example evaluates to [[500,1000]], which is a list containing 1 element, which is itself a list containing 2 elements. An Input Multiplier that evaluates to [3,4,7,8] would run the Stream 4 times. Because Input Multipliers are evaluated first in the PhixFlow Timing Cycle they are often used to look up values that can be passed to Database or other Collectors. |
Log Input Multiplier Messages | Tick to cause PhixFlow to write a message to the log every time an Input Multiplier value changes during an analysis run. |
Output Multiplier | This field is an expression which should evaluate to an array of values. A separate output record will be produced for each value in the array and this value is available as _outputMultiplier in each of the stream output attribute expressions (each value in the array is also available through _type, although this is not recommended usage). In effect this will multiply each of the output records by the number of elements from the returned list. For example :ifNull(in.ASSET, [1,10,12] , // else do [5,7] ) will create 3 records for every record in the stream if in.ASSET contains a value (setting _type = 1, 10 and 12 in each case). Otherwise it will create 2 records for every record in the stream (and set _type = 5 and 7). An Output Multiplier may also evaluate to a record, or a group of records. For example an Output Multiplier with the expression:do( lookup(lkin, $num = in.BNumber), lkin ) will return a list of records which match the lookup on the lkin pipe. In this case the required data can be extracted from the Output Multiplier using the following expression : do ( $values = _type, $values.account_num ) If the output multiplier expression evaluates to _NULL, an empty list of values or an empty list of records then a single output record will be produced with _type set to _NULL, _NULL or an empty record respectively. |
Select Records to Output | You can select a subset of records to output to the next modelling object. You select records using the data in any attribute that is in the stream output. Enter an expression that should evaluate to true or false (equivalently 1 or 0). When the expression evaluates to true or 1, the records found by the expression are selected and output to the next modelling object. For example: - A stream containing data about accounts has an attribute called "active".
- You only want to include "active" accounts in the following streams.
- Active accounts have the value 1.
To select active accounts, enter the expression _out.active . All records that have the active attribute set to any other value are ignored. |
Actions
This section has a toolbar with standard buttons. The grid contains a list of actions that operate on the stream.
To edit the properties of an action, double-click its name. To add an action to the list, click Create New. PhixFlow opens the Action properties tab.
To remove an action from the stream, select the action and click Delete in the toolbar.
Stream Item Actions
This section has a toolbar with standard buttons. The grid contains a list of stream item actions that can update records in the stream.
To edit the properties of a stream item action, double-click its name. To add a stream item action to the list, click Create New. PhixFlow opens the Record-Action properties tab.
To remove a stream item action from the stream, select the stream item action and click Delete in the toolbar.
Views
This section has a toolbar with standard buttons. The grid contains a list of the data views for this stream.
To edit the properties of an stream view, double-click its name. To add a stream view to the list, click Create New. PhixFlow opens the View properties tab.
To remove a view from the stream, select the view and click Delete in the toolbar.
Sort Orders
This section has a toolbar with standard buttons. The grid contains a list of the sort orders for this stream.
To edit the properties of a sort order, double-click its name. To add a sort order to the list, click Create New. PhixFlow opens the Sort Order properties tab.
To remove a sort order from the stream, select the sort order and click Delete in the toolbar.
Errors
This section has a toolbar with standard buttons. See Menu Options and Toolbar Buttons.
When you save changes to the properties of a table or view attribute, PhixFlow validates that the properties are set correctly. If there is an issue with the properties, PhixFlow indicates this with a Model Validation Status of ERROR.
The Errors grid contains a list of the validation checks. For those that failed, the Validation Message indicates which properties need fixing. For example, PhixFlow reports an error if the steam has no Data Retention option set. Double-click on a row to view a full message.
When a table or view attribute has validation errors, these are also be listed in the Errors section of the application or package to which the table or view belongs.
Relations
This section has a toolbar with standard buttons. The grid displays a read-only list of the relationships that this stream has. Double-click a relationship to display it's properties; see Relationship.
Filters
This section has a toolbar with standard buttons. The grid contains a list of the filters that can be applied to this stream and can be added to this stream's views.
All filters in this list are available in the default view for this stream. For stream views that you create, in the View properties tab → Filters section, you can add filters. The list of available filters is populated by the filters defined for the stream.
To edit the properties of a filter, double-click its name. To add a filter to the list, click Create New. PhixFlow opens the Filter properties tab.
To remove a filter from the stream, select the filter and click Delete in the toolbar.
This section has a toolbar with Show a Detailed List and Refresh buttons; see standard buttons. In the grid, PhixFlow lists all pipes that connect into the stream. You cannot edit this grid.
Download Limits
The following properties affect the number of data records a user can download from a stream view, such as a grid, chart or card; see Download CSV or Excel Data.
Field | Description |
---|
Stream Download Limit | Enter the maximum number of records that a user can download from a stream view or card view on this stream. If no value is set, PhixFlow uses the default limit set in System Configuration→ System Tuning → Default Download File Limit. |
Allow Unlimited Downloads | Untick to restrict all users to the Stream Download Limit. Tick to display a User Groups section where you can specify user groups whose members can download unlimited data from a stream view or card view on this stream. For example, members of the Administrators user group may need to download all data. |
User Groups | Available when Allow Unlimited Downloads is ticked. Use this section to select the user groups whose members can download an unlimited number of records. This section has a toolbar with standard buttons and User Groups. The grid contains a list of user groups that are exempt from the Stream Download Limit. To add a user group to the list: - Click User Groups to list all the user groups in the repository.
- Drag user groups into this list to add them to the role.
To remove user groups, use the Delete in the toolbar. |