Versions Compared

Key

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

Overview

Use the stream attributes properties tab to specify the characteristics of the the data in a table column.  

...

FieldDescription
Indexed

Insert excerpt
_check_box_ticked
_check_box_ticked
nopaneltrue
 to index this attribute in the underlying 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

Insert excerpt
_check_box_ticked
_check_box_ticked
nopaneltrue
 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. 

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.


Key

Insert excerpt
_check_box_ticked
_check_box_ticked
nopaneltrue
 for in-memory streams, to specify that this field will be used as a key value. 

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. 

CHECK THIS

...

Does PhixFlow make a best guess at what the type is and if it's not sure, assumes string??

What if you want All stream attributes have a type. The default is String. 

What if you want to change a format - e.g set a decimal or date format?

Which fields can have "null"?

String

Apply a string type to sequences of characters (i.e., Once the stream has data the attribute type can only be changed if the database allows the change. This is database dependent and you will see an error if your change is not allowed. If the stream has no data then any change in attribute type is possible.

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? 50. The minimum length is 1 and the maximum length is 4000.

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? If you store a number with decimal places as an integer it will be truncated.

Integer has a precision which is the maximum number of digits. The default is 10. The minimum is 1 and maximum is 38.

Float

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

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

Anchor
Decimal
Decimal
Decimal

...

If the number of decimal digits present in a decimal field exceeds the specified format, PhixFlow will discard the excess decimal placesround 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.3435.

Note

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

...

What about word formats e.g. Tuesday the fourteenth of February?

Datetime

Apply a datetime type to representations of a time, or day and time.

Are there any specific formats to say are recognised/not recognised? Words are not recognised except three letter month abbreviations eg 14 Feb 2019 is accepted.

"yyyyMMdd",
"dd/MM/yy",
"dd MM yy",
"dd-MM-yy",
"MM/dd/yy",
"MM dd yy",
"MM d yy",
"MM-dd-yy"

"dd/MMM/yy",
"dd-MMM-yy",
"dd MMM yy",
"MMM/dd/yy",
"MMM-dd-yy",
"MMM dd yy",
"MMM d yy"

"dd/MM/yyyy",
"dd-MM-yyyy",
"dd MM yyyy",
"MM/dd/yyyy",
"MM-dd-yyyy",
"MM dd yyyy",
"MM d yyyy"

"dd-MMM-yyyy",
"dd/MMM/yyyy",
"dd MMM yyyy",
"MMM/dd/yyyy",
"MMM-dd-yyyy",
"MMM dd yyyy",
"MMM d yyyy"

Datetime

Apply a datetime type to representations of a time, or day and time.

Are there any specific formats to say are recognised/not recognised?

Same formats as for date but with HH:mm:ss on the end.

"yyyyMMdd.HHmmss"

"dd/MM/yy HH:mm:ss",
"dd-MM-yy HH:mm:ss",
"dd MM yy HH:mm:ss",
"MM/dd/yy HH:mm:ss",
"MM-dd-yy HH:mm:ss",
"MM dd yy HH:mm:ss",
"MM d yy HH:mm:ss"

"dd/MMM/yy HH:mm:ss",
"dd-MMM-yy HH:mm:ss",
"dd MMM yy HH:mm:ss",
"MMM/dd/yy HH:mm:ss",
"MMM-dd-yy HH:mm:ss",
"MMM dd yy HH:mm:ss",
"MMM d yy HH:mm:ss"

"dd/MM/yyyy HH:mm:ss",
"dd-MM-yyyy HH:mm:ss",
"dd MM yyyy HH:mm:ss",
"MM/dd/yyyy HH:mm:ss",
"MM-dd-yyyy HH:mm:ss",
"MM dd yyyy HH:mm:ss",
"MM d yyyy HH:mm:ss"

"dd/MMM/yyyy HH:mm:ss",
"dd-MMM-yyyy HH:mm:ss",
"dd MMM yyyy HH:mm:ss",
"MMM/dd/yyyy HH:mm:ss",
"MMM-dd-yyyy HH:mm:ss",
"MMM dd yyyy HH:mm:ss",
"MMM d yyyy HH:mm:ss"

Graphic

Is this still available?

...

Apply a TrueFalse type to fields that can have the values true or false.What happens if the field is empty? Or has something other than True/False?have the values true or false.

What happens if the field is empty? Or has something other than True/False?

The value saved is always true or false. It is true if it is a number other than 0, the string "true", "t", "yes", "y" (case insensitive), or for a list if all items in the list are true. Anything else is false, so empty/null is false.