Insert excerpt | ||||||||
---|---|---|---|---|---|---|---|---|
|
This page is for data modellers and application designers. It explains stream attribute data types. DRAFTCHANGE
Overview
All 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 an attribute before the data has been loaded into the stream.
Once the stream contains stream-items (records), you may be able to change the attribute's 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 record-sets so that the stream no longer contains stream items; see Rollback Recordsets.
Panel | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
|
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.
Anchor | ||||
---|---|---|---|---|
|
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 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.
Anchor | ||||
---|---|---|---|---|
|
Decimal
Apply a decimal type to non-integer numbers with a set level of precision.
Note |
---|
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. |
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.
Note |
---|
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.
LongApply a long type to large integers with no decimal places.
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.
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.
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 2019 | 14 Feb 2019 | 02 14 2019 | Feb 14 2019 |
---|---|---|---|
dd/MM/yyyy | dd-MMM-yyyy | MM/dd/yyyy | MMM/dd/yyyy |
dd-MM-yyyy | dd/MMM/yyyy | MM-dd-yyyy | MMM-dd-yyyy |
dd MM yyyy | dd MMM yyyy | MM dd yyyy | MMM dd yyyy |
MM d yyyy | MMM d yyyy | ||
14 02 19 | 14 Feb 19 | 02 14 19 | Feb 14 19 |
dd/MM/yy | dd/MMM/yy | MM/dd/yy | MMM/dd/yy |
dd MM yy | dd-MMM-yy | MM-dd-yy | MMM-dd-yy |
dd-MM-yy | dd MMM yy | MM dd yy | MMM dd yy |
MM d yy | MMM 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.
Note | ||||||||
---|---|---|---|---|---|---|---|---|
|
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 Settings → Type of TrueFalse to fields that can have the values that represent true
or false
.
Insert excerpt | ||||||
---|---|---|---|---|---|---|
|
- an empty/null field.
Structured
DataDEV-11123Data
Anchor | ||||
---|---|---|---|---|
|
This data type is only available for attributes in the following actionflow nodes and their connection points for:
- calculate node
- analysis node
- node.
A structured data value contains a list (an array of values, that you need to use in an actionflow.
Use to pass arrays of values
Selectable on calculate attributes
Also on connection point attributes for actionflows.
Except Save. Cannot Save out of an actionflow
It can be used as an attribute type for calculate action attributes and analysis action attributes. The main use case for the structured data type is to pass a list as the value for an attribute e.g. to pass a list of ids to a dashboard that is opening. When we evaluate the expressions on a calculate action we enforce that the value is of the correct type for the attribute, but for structured data the value can be any type and no checks are made. I think at the moment the calculate is the only place where we ensure the value is the correct type but there are Jiras for checking the types are consistent for other actions), such as a list of identifiers. In an actionflow, a structured data attribute is useful when you need to pass a list through to another actionflow node or out of the actionflow, to a screen.
Note |
---|
For an attribute with a Type of Structured Data, PhixFlow does not check that the data value is consistent with the attribute type are consistent. PhixFlow cannot pass a structured data attribute to a Save node. |