Versions Compared

Key

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

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.

Stream Properties

Insert excerpt
_standard_settings
_standard_settings
nopaneltrue

The tab toolbar has the following additional buttons: 

Insert excerpt
_stream_sets_show
_stream_sets_show
nopaneltrue
Insert excerpt
_stream_views
_stream_views
nopaneltrue
Insert excerpt
_run_analysis
_run_analysis
nopaneltrue
.

...

FieldDescription
NameThe name of the stream.
EnabledWhether or not the stream is enabled to run.
Static DataIf ticked, this stream can be used to hold static data. This is usually reference, or "look up" data used as part of a stream calculation. In technical terms, setting this means that the stream will only update itself when the user requests an analysis run on the stream directly, either ad-hoc through the user interface, or via a task plan. When this stream is part of a larger analysis run, unlike all other types of stream the stream will not attempt to update itself.
PeriodThis is the period of the stream. This can be either a regular period, or variable. There are four possible settings:
  • Transactional: allows multiple users to run independent analysis tasks at the same time.
  • 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.

When the period is first set to Transactional the UID stream attribute will be created if it does not already exist.

Stream Type

The type of function used to generate this stream. Possible stream types are:

  • Aggregate Stream
  • Calculate Stream
  • CalculateBySet Stream
  • Cartesian Stream
  • Merge Stream Stream 
Supersede Items on Pipe

You can select a "loop" pipe - that is, a pipe linking the stream back into itself - in this field. If you do, new records will be compared to existing records, using the selected loop pipe, and if a repeated record is found, the old one will be marked as 'superseded'.

Audit Manual Changes

Only applies when period is Transactional. If ticked, updates and deletes initiated by stream actions (not those carried out by analysis runs) will automatically mark the existing record as superceded and create a new stream set. The new versions of the updated records will be placed in the new stream set. Inserts will simply create a new stream set, and add the inserted record into that stream set.

When Audit Manual Changes is first set, the attributes UpdateActionUpdatedByNameUpdatedByID and UpdatedTime will be created if they do not already exist. If you do not require these attributes, delete them.

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

...

FieldDescription
IndexedTick this option if this field should be indexed in the underlying database. An indexed field should be used to increase performance on very large streams in the following situations:-
  • When 1 or more output pipes from the stream uses the field to 'Filter' the stream.
  • When 1 or more output pipes from the stream uses the field in a 'Sort/Group' by action.
Filter conditions are
case-independent by default

If ticked, new filter conditions on this field are case-insensitive by default. The filter window → Ignore Case check box inherits this setting; see Filters on Data Views. For case-insensitive filters, there is no difference if the attribute is also indexed. 

Note
This option affects the behaviour of filters for PhixFlow instances running on Oracle or MariaDB (MySQL) databases.
For PhixFlow instances running on a SQL Server database, filters are always case-independent.



KeyFor in-memory streams, whether this field will be used as a key value. See How To: Summarise unsorted data with In Memory Streams.
Cache KeyIf a cache key is set, the value of this attribute persists throughout the stream calculation, rather than being created from scratch for each stream item as normal. This allows you to keep track of the calculation as it progresses. The cache key is an expression that is evaluated for each stream item, and of course it can use the existing value of the attribute, in other words, to value it had in the previous stream item processed in the stream calculation. This allows expressions to use the "persistent" attribute value on subsequent stream items. The expression provided in the Cache Key is evaluated for each stream item so that this "persistent" attribute can refer to multiple value keyed on the "Cache Key".

...

Which fields can have "null"?

String

Apply a string type to sequences of characters (i.e., letters, numerals, symbols and punctuation marks). By default string attribute types have a fixed length of how long?

do we need to tell users about any information-loss if data that is naturally a different type gets loaded as a string?

Anchor
Bigstring
Bigstring
Bigstring

...

The maximum bigstring size can be configured in System Configuration → System Tuning → Maximum Bigstring Size.

Integer

Apply an integer type to whole numbers (not a fractions or decimals) that can be positive, negative, or zero. 

What happens if you attempt to load a float or decimal number into an integer attribute?

...