Overview
A pipe is a connector that links two elements in a PhixFlow model and sends data from the input to the output. Pipes allows you to control which attributes and which records from the input are delivered by to the output, although in most cases - with minimal configuration - you will get all columns and the records from the current run.
...
Country
Is in ["England","France","Germany"]
fx
Sort/Group
Use this section to group and sort data as it comes through the pipe. for lookup pipes, this section is called Order/Index. This section has:
- a toolbar with standard buttons
- a grid that lists the attributes that you want to sort or use to group
- below the grid are the following options:
Field | Description |
---|---|
Maximum Number of records per Group | Enter an upper limit for grouped records. When collating the input records into groups, PhixFlow uses the specified sort order. When it has added the maximum number of records, any more records for the group are ignored. This can be useful if you want the most recent record for an attribute that has many records.
|
Index Type | This field is available for pipes with the Type= Look-up. Look-up pipes can be configured for fast "indexed" access to cached data collected from external tables, files or from other streams. Indexed access is controlled through configuring a pipe with an index and setting index expressions on grouping attributes. If the Type field on the Pipe is set to 'Look-up' then the field "Index Type" becomes available. This can have the value "None" meaning that there are no index keys or "Exact Match", "Best Match" or "Near Match" as described below:
|
Using the Sort/Group Grid
To add a stream attributes attribute to the list:
- click
to open the list of attributes in the input streamInsert excerpt _attributes_show _attributes_show nopanel true - drag a stream attribute into the grid.
To remove an attribute, click
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
To set the sort or group properties for an attribute, double-click its name in the grid. If you want to create a new attribute that is not present in the input stream, in the section toolbar, click
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
Field | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Attribute | For input stream attributes, PhixFlow displays the attribute name. (Read-only) For a new attribute, enter a name. | ||||||||||||||||
Order | Enter the number for the order the attribute appears in the grid and the order in which it is processed. Other attributes are renumbered. | ||||||||||||||||
Direction | Select the sort order
| ||||||||||||||||
Group |
If this attribute is part of the candidate key set, you must tick the Group checkbox. Otherwise, the attributes will be used only to sort the data in the candidate set. | ||||||||||||||||
Index Expression | This field is available for lookup pipes with an Index Type option selected. Look-up pipes can be configured for fast "indexed" access to cached data. This data is collected from external tables, files or from other streams. Indexed access is controlled through configuring a pipe with an index and setting index expressions on "Group By" attributes here. | ||||||||||||||||
Audit Summary | See Common Properties. |
Tip |
---|
In some cases, you may have a pipe connected to a database collector, which pulls data from an external database table. In these cases, the fields in the database must have matching attribute names in the output stream. You can refer to it using the format |
Aggregate Attributes
Aggregate Attributes Use this section to define the aggregated properties that are available when data is read from an aggregating Pipe. Note that Aggregate Attributes are not available on Pipes from Database Collectors (any aggregation can be performed in the query SQL), nor are they available on Pipes from File Collectors.
Possible aggregate values are counts, summations, averages and maximum or minimum values of Stream Items grouped in the Group/Order tab of the Pipe.
Use this section to combine data from different attributes it comes through the pipe. of data that you want to combine as it comes through the pipe.
Note |
---|
You cannot aggregate data from attributes if the pipe's input is from: If you need to aggregate data from a database collector, you can use an SQL query. |
This section has:
- a toolbar with standard buttons
- a grid that lists the attributes that you want to aggregate.
.
Aggregate Attributes define the aggregated properties that are available when data is read from an aggregating Pipe. Note that Aggregate Attributes are not available on Pipes from Database Collectors (any aggregation can be performed in the query SQL), nor are they available on Pipes from File Collectors.
Possible aggregate values are counts, summations, averages and maximum or minimum values of Stream Items grouped in the Group/Order tab of the Pipe.
...
Only aggregate attributes which can be aggregated. For example, do not try to sum an attribute which contains text.
Custom Data to Read
Data to Read = Custom
The following fields are available in the Basic Settings section if you set Data To Read = Custom:
...
Use this option to exclude or include input streams sets that have future dates relative to the stream set you are generating. For details about how future stream sets occur, see Managing Future Stream Sets, above.
...
Using the Aggregate Attributes Grid
To add a stream attribute to the list:
- click
to open the list of attributes in the input streamInsert excerpt _attributes_show _attributes_show nopanel true - drag a stream attribute into the grid.
To remove an attribute, click
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
To set the properties for an aggregate attribute, double-click its name in the grid. PhixFlow opens the attribute's sort properties:
Field | Description |
---|---|
Stream Function | Select an function to combine stream data records.
See Aggregate Function for details. Make sure the function matches the data in the attribute. For example, you cannot Sum text. |
Attribute | Select the stream attribute aggregated from the list of attributes in the input stream. PhixFlow does not use the value in this field if the Aggregate Function is Count. |
Name | Enter the name for the aggregated attribute. This can be the same as the original attribute. |
Order | The order of the aggregate attribute in the output stream. |
Advanced
Field | Description | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Data Expected | This checkbox is available when the pipe Type is Push or Pull.
| |||||||||||||||||||||||||
Allow Incomplete Stream Sets |
PhixFlow cannot complete a stream set if:
| to include future PhixFlow ignores incomplete stream sets in | this analysis run. For example, for a stream with Period: Transactional , you will want to include new streams sets that are being added to the input stream after your analysis run starts.
Advanced section
The following fields are configured in the Advanced section:
Field | Description | |||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Data Expected | This field is available when the Pipe Type is Push or Pull. This flag allows the user to specify that the pipe is expecting to receive data. If ticked but no data is received this is treated as an error. | |||||||||||||||||||||||||||||||
Allow Incomplete Stream Sets | Normally, when a pipe tries to read from an input stream that contains an incomplete stream set, PhixFlow will attempt to complete the stream set before passing data down the pipe. However if the stream is static (i.e. the stream has its 'static' flag ticked) or is effectively static (i.e. all of the pipes reading from it in this analysis run are static) then, instead of completing the stream set, an error message is produced indicating that you cannot read from this stream because it contains an incomplete stream set. If you do not want this error message to be produced when reading from static (or effectively static) streams, but would instead prefer PhixFlow to ignore the incomplete stream sets, then you must tick this box on all pipes that will read from the input stream in this analysis run. If there are multiple pipes that read from the input stream during this analysis run and even one of the pipes does not have this box ticked then you will not be allowed to read from the stream and the error message will be produced. Pipes which are not used in the current analysis run (for example where they lead to streams on branches of the model which are not run by the current task plan) have no effect on whether or not the error message is produced. Anchor | pipeCacheSize | pipeCacheSize | Cache SizeThe cache is used when carrying out lookups from streams or database collectors. When doing a lookup, there are two common scenarios:
In case 2, the results returned are typically based on a key value, e.g. an account number. This will be used in the filter of the pipe, if you are reading from a stream, or in the query, if you are reading from a database collector. For example, the query in a database collector will include the conditiona static input stream and does not report an error.
Pipes that are not used in the analysis run do not try to complete a stream set, so will not report an error. (Unused pipes can occur if they lead to streams on branches of the model that are not being run.) | ||||||||||||||||||||||||||||
Cache Size |
Enter a number to set a limit on the data cache size available for the pipe. You need to estimate the largest number of records that the lookup pipe will return on a single read. If you do not set a limit for the cache, PhixFlow uses the system default set in System Configuration → System Tuning → Maximum Pipe Cache Size. You may want to set a cache size on individual pipes if: .......PhixFlow may need to:
Lookup for a few records may times In this case, PhixFlow is usually using a key value, such as an account number, to get the data. The key value is
For efficiency, the records are cached (stored temporarily in memory) so that if the same set of records need to be looked up again they are readily available without going back to the database. This field allows you to set a limit on the size of the cache. Setting a limit is important because if you do not, the cache can become very large and consume a lot of memory, which can lead to a slow down in both your tasks and those of other users of PhixFlow. To set the cache size, try to estimate the largest number of records that the lookup pipe will return on a single read. If you do not set a limit, it will default to the system-wide default, specified in the Maximum Pipe Cache Size in the System Tuning tab of the System Configuration.
| |||||||||||||||||||||||||||||||
Buffer Size | The buffer size used to perform the stream calculation. If a large amount of data is being processed, then setting a large buffer size will give better performance. | |||||||||||||||||||||||||||||||
Pipe View | The pipe view is used to limit which fields are retrieved down the pipe and in what order, and in some circumstances how each field is to be formatted. You can select from any of the views that have been configured on the source stream. Please note that any sorting or filtering of records will have to be applied directly on the pipe, and will not be inherited from the pipe view. The pipe view is used in two contexts. During lookupsPipe views can also be used on lookup pipes to limit the fields that are returned by the lookup request. This is most useful in the scenario where the you want to read and cache data on a lookup pipe from a stream that has lots of attributes but where only a small number of attributes are actually required. You can simply create a new view on the source stream listing only the attributes needed, then specify it as the pipe view on the lookup pipe. Only those attributes specified on the view will then be loaded.Without a pipe view, the pipe will load and cache all of the attributes from the stream which may consume a significant amount of free memory if there are a large number of records. During File ExportWhen sending data to a file exporter only those fields specified on the pipe view will be exported. If no pipe view is supplied then all fields will be exported. To set the cache size, try to estimate the largest number of records that the lookup pipe will return on a single read. If you do not set a limit, it will default to the system-wide default, specified in the Maximum Pipe Cache Size in the System Tuning tab of the System Configuration. PhixFlow may need to: | |||||||||||||||||||||||||||||||
Buffer Size | The buffer size used to perform the stream calculation. If a large amount of data is being processed, then setting a large buffer size will give better performance. | |||||||||||||||||||||||||||||||
Pipe View | The pipe view is used to limit which fields are retrieved down the pipe and in what order, and in some circumstances how each field is to be formatted. You can select from any of the views that have been configured on the source stream. Please note that any sorting or filtering of records will have to be applied directly on the pipe, and will not be inherited from the pipe view. The pipe view is used in two contexts. During lookupsPipe views can also be used on lookup pipes to limit the fields that are returned by the lookup request. This is most useful in the scenario where the you want to read and cache data on a lookup pipe from a stream that has lots of attributes but where only a small number of attributes are actually required. You can simply create a new view on the source stream listing only the attributes needed, then specify it as the pipe view on the lookup pipe. Only those attributes specified on the view will then be loaded. During File ExportWhen sending data to a file exporter only those fields specified on the pipe view will be exported. If no pipe view is supplied then all fields will be exported. Max Records To Read The maximum number of records that should be read down this pipe. The, and no Excel template is specified on the exporter, then the pipe view will be checked to see if an Excel template has been specified there. This template will then be used as part of the export. See the description of file exporters for further details. If an Excel template has been specified on the exporter then this will override any template specified on the pipe view. | |||||||||||||||||||||||||||||||
Max Records To Read | The maximum number of records that should be read down this pipe. The pipe may read more than this number of records if it is configured to carry out multiple reads simultaneously e.g. if it is connected to a File Collector which has been configured to read multiple files simultaneously or if this pipe strategy is "Directed" with multiple workers. | |||||||||||||||||||||||||||||||
Strategy | The Execution Strategy determines how this pipe should be implemented. | |||||||||||||||||||||||||||||||
Strategy | The Execution Strategy determines how this pipe should be implemented. See the section on Directed Merge Strategy | |||||||||||||||||||||||||||||||
Max Workers | This field is only available if Strategy = Directed The maximum number of concurrent worker tasks. If blank, this defaults to 1. | |||||||||||||||||||||||||||||||
Worker Size | This field is only available if Strategy = Directed The number of key values to read for a single worker task (which runs a single select statement). If blank, this defaults to 1000. This is the maximum value that can be used when reading from an Oracle databaseSee the section on Directed Merge Strategy | |||||||||||||||||||||||||||||||
Max Workers | This field is available when Strategy is Directed The maximum number of concurrent worker tasks. If blank, this defaults to 1. | |||||||||||||||||||||||||||||||
Worker Size | This field is available when Strategy is Directed The number of key values to read for a single worker task (which runs a single select statement). If blank, this defaults to 1000. This is the maximum value that can be used when reading from an Oracle database. |
Custom Data to Read
Data to Read = Custom
The following fields are available in the Basic Settings section if you set Data To Read = Custom:
Field | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
From Offset | The offset applied to the start of the collection period, relative to the period in the output stream that requires populating. | ||||||||||||||||
To Offset | The offset applied to the end of the collection period, relative to the period in the output stream that requires populating. | ||||||||||||||||
Max Stream Sets | In almost all cases this specifies the number of stream sets to be retrieved from the input stream. However, if this is a push pipe with positive offsets this value indicates the maximum number of stream sets that can be created i.e. the maximum number of cycles this pipe can initiate. | ||||||||||||||||
Only collect from same run | Every time the analysis engine runs, all of the stream sets that are created by all of the streams affected by that analysis run are given the same Run ID. If this flag is ticked then the pipe will only collect stream sets from the input stream that have the same Run ID as the stream set currently being created by the output stream. You should only use this flag is both the input and output streams are transactional. | ||||||||||||||||
Historied | If ticked, the pipe will collect data from the input stream by period. So if the from and to offsets are both 0.0, and the output stream requires stream generation for the period 17/10/07 - 18/10/07, data will be collected from the input stream for the period 17/10/07 - 18/10/07. If not ticked, all data will be collected from the input stream, regardless of period. In this case, the offsets are still used to determine whether the required data periods in the input stream exist before the stream calculation can be carried out. | ||||||||||||||||
Read Future Data | Use this option to exclude or include input streams sets that have future dates relative to the stream set you are generating. For details about how future stream sets occur, see Managing Future Stream Sets, above.
|