PhixFlow Help

Stream Attributes

Use the attributes properties tab to specify the characteristics of the  data in a table column.  You can open attribute properties from:

  • the repository. Attributes are listed under their stream
  • the Stream properties → Attributes table
  • other attribute lists. 

For information about the properties toolbar, and about the sections Parent Details, Analysis Models, Description and Audit Summary, see Common Properties.  For a full list of all the PhixFlow property tabs and windows, see Property Tabs.

Basic Settings

FieldDescription
Name

Enter the name of the attribute.

PhixFlow recognises the attribute name UID as a unique identifier for a record. As records are added, PhixFlow automatically increments the UID value.

Type

Select the attribute type for the data.

  • String
  • Bigstring
  • Integer
  • Float
  • Decimal
  • Date
  • Datetime
  • Graphic
  • TrueFalse

Length

This field is available when Type is String. By default strings are 50 characters long. Optionally specify a different string length of between 1 and 4000.

For strings longer than 4000 characters, set a Type of Bigstring

Precision

This field is available when Type is Integer. Enter the maximum number of digits allowed in whole numbers. By default, integers are 10 digits long. Optionally specify a different integer precision of between 1 digit and 38 digits.

Significant FiguresThis field is available when Type is Decimal. Enter the maximum number of total digits for decimal numbers.  By default decimals have 10 significant figures.
Example

To specify numbers must have two digits before and after the decimal point, such as 12.34, enter:

Significant Figures  4

Decimal Places  2



Decimal Places

This field is available when Type is Decimal. Enter the maximum number of digits allowed after the decimal point. By default, decimals have 2 decimal places.

This must be less than the number of significant figures.

Local

  Untick to keep both stream data and any result of using it in a calculation. 

 Tick if you need to use the attribute in a stream calculation, but you do not need to keep the result.

Order

The order of the attributes in the stream. Stream attribute expressions are evaluated in this order. 

This is important when you need to use the results of a calculation in another attribute:

  • either in its expression
  • or in a $ variable.

In the attribute list, the attribute that calculates the result must come before the attribute that requires the result.

ExpressionThe expression used to generate the attribute value. This is written as a PhixFlow Expression. It must evaluate to a single value, of the type specified in the Type field.

Advanced

FieldDescription
Indexed

 Untick to prevent this attribute being indexed in the PhixFlow database.

 Tick to index this attribute in the PhixFlow database.

To improve performance, index an attribute when the stream has a large data set and an output pipe from the stream uses this attribute to:

  • filter the stream data
  • sort or group the stream data.
Filter conditions are
case-independent by default

 Untick to use filters that are case-sensitive.

 Tick to set new filter conditions on this attribute to be 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. 

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.
Key

 Untick for in-memory streams, to specify that this field is not a key value.

 Tick for in-memory streams, to specify that this field will be used as a key value. 

Translate Values 

 Untick to ignore this attribute when translating text in PhixFlow (the default).

 Tick to include this attribute when translating text that appears in PhixFlow. To be translated, the attribute text must be included in a translation table; see Translating an Application Interface and Translation Table.

Cache Key

Enter an expression to be evaluated for each stream item (data record) in the stream. The expression can:

  • either use the value of this attribute
  •  or calculate a different value

Once calculated, the cache key value persists throughout subsequent 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.

This means you can use a "persistent" attribute value in other expressions. 

Access Permissions

For details about how to control access to a stream attribute, see Common Properties → Access Permissions.

Attribute Types

All stream attributes have a data type. When loading data from a source, such as a file or database, PhixFlow applies the data type from the source. If there is no data type specified, PhixFlow applies the default type of string.

You can change the type of a stream attribute before the data has been loaded into the stream.

Once the stream contains data, you may be able to change the data type, depending on the database on which PhixFlow runs. PhixFlow reports an error if you are not permitted to change the data type. In this case you can rollback all stream sets so that the stream no longer contains data; see Rollback.

String

Apply a string type to sequences of characters, such as letters, numerals, symbols and punctuation marks. By default string attribute types have a default length of 50. Specify a different string length in Basic Settings → Length.

Bigstring

Apply a bigstring type to text strings over 4000 characters long. Bigstring is a different data type to string. For PhixFlow instances that use an Oracle database, bigstrings:

  • cannot be sorted or aggregated
  • can only be filtered with the conditions:
    • (not) contains
    • is (not) null
    • (not) starts with
    • (not) ends with.

The PhixFlow administrator can configure the length of a bigstring using 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. By default integers have a precision of 10 digits. Specify a different integer length in the Basic Settings → Precision.

 If you store a number with decimal places as an integer it will be truncated.

Float

Apply a float type to non-integer numbers with an undefined level of precision.

Decimal

Apply a decimal type to non-integer numbers with a set level of precision. Decimals have a specific number of:

  • significant figures: the total number of digits stored, 
  • decimal places: the number of digits after the decimal place.

The maximum number of integer digits is therefore the significant figure minus the decimal places. By default, decimals have 10 significant figures and 2 decimal places, and therefore 8 integer digits.

If the number of integer digits present in a decimal field exceeds the specified format, running analysis will fail and PhixFlow will report an error.

If the number of decimal digits present in a decimal field exceeds the specified format, PhixFlow will round to the required precision. For example, if a data record includes the number 12.3456, but the decimal type can have 4 significant figures and 2 decimal places, PhixFlow records 12.35.

Ensure your decimal type has the number of decimal places you need for your data. Once the data is loaded into PhixFlow, you will not be able to recover excess decimal places.

The PhixFlow administrator can configure the default number of decimal places is set in System Configuration → General Settings → Decimal places.

If the System Configuration or Number Format option to Suppress Trailing Zeroes is set, PhixFlow will display decimals and floating point numbers without trailing zeroes.

From PhixFlow version 8.3.8 onwards, PhixFlow restricts float or decimal numbers to 15 significant figures when they have 15 decimal places and there are many digits before the decimal point.

Date

Apply a date type to representations of a calendar day. Word formats, such as Tuesday the fourteenth of February are not recognised. However, three letter month abbreviations are recognised, for example: 14 Feb 2019.

The following date formats, have:

  • y represents year digits
  • M represents month digits or MMM represents three letters
  • d represents day digits
  • separators can be forward slash / hyphen - or a space.

The default number of date format is set in System Configuration → General Settings → Default Date Format.

Recognised Date Formats

  • the international standard format has not separators and is yyyyMMdd, for example 20190214. 
  • the following variations (examples shown with space separators).
14 02 201914 Feb 201902 14 2019Feb 14 2019
dd/MM/yyyydd-MMM-yyyyMM/dd/yyyyMMM/dd/yyyy
dd-MM-yyyydd/MMM/yyyyMM-dd-yyyyMMM-dd-yyyy
dd MM yyyydd MMM yyyyMM dd yyyyMMM dd yyyy


MM d yyyyMMM d yyyy
14 02 1914 Feb 1902 14 19Feb 14 19
dd/MM/yydd/MMM/yyMM/dd/yyMMM/dd/yy
dd MM yydd-MMM-yyMM-dd-yyMMM-dd-yy
dd-MM-yydd MMM yyMM dd yyMMM dd yy


MM d yyMMM d yy

Datetime

Apply a datetime type to representations of a day and a time. It cannot be used to represent a time alone.

Datetimes can have any of the above date formats followed by a space separator and HH:mm:ss. for example MM/dd/yy HH:mm:ss represents a datetime such as 02/14/19 15:35:06.

  • H represents hour digits (24 hour)
  • m represents minute digits
  • s represents second digits
  • time separators are colons :

The international datetime uses a full stop/period as a separator between the date and time, yyyyMMdd.HHmmss, for example 20190214.15:35:06.

PhixFlow recognises date and date-time formats, but does not recognise time-only formats, for example HH:mm:ss. When a database collector loads time data, it applies the string data-type. This applies to data from MariaDB and SQL Server databases as there is no TIME data-type in Oracle DB.

The default number of date format is set in System Configuration → General Settings → Default Date/Time Format.

Graphic

Apply a graphic type to fields that contain image files.

True or False Values

Apply the Basic SettingsType of TrueFalse to fields that can have the values that represent true or false.

The values that represent true are:

  • any number other than 0
  • for a list: all items in the list are true
  • the following case-insensitive strings
    • true
    • t
    • yes
    • y

The values that represent false are:

  • 0 (zero)
  • any string not listed as true above including false

  • an empty/null field.

Please let us know if we could improve this page feedback@phixflow.com