Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 9 Next »

Overview

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

This setting is not available from the repository browser. It opens from:

  • the Stream properties → Attributes table
  • other attribute lists. 

Stream Attribute Properties

For information about the properties toolbar, and about the sections Parent Details, Analysis Models, Description and Audit Summary, see Common Properties.  We recommend you always add a Description that explains the purpose of the item you are creating. 

For a full list of all the PhixFlow property tabs and windows, see Properties, Windows, Menus and Toolbars.

Basic Settings

FieldDescription
NameEnter the name of the attribute.
TypeSelect the attribute type for the data.
  • String for text strings 
  • Bigstring for text
  • Integer for text
  • Float for text
  • Decimal for text
  • Date for text
  • Datetime for text
  • Graphic for text
  • TrueFalse for text

Length

This field is available when Type is String. Enter the maximum number of characters allowed in text data. For unlimited text strings, set a Type of  Bigstring

PrecisionThis field is available when Type is Integer. Enter the maximum number of digits allowed in whole numbers.
Significant FiguresThis field is available when Type is Decimal. Enter the maximum number of total digits for decimal numbers. 
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.

This must be less than the number of significant figures.

Local

In most cases leave this option  Untick to keep both stream data and any result of using it in a calculation.

Error rendering macro 'excerpt-include' : No link could be created for '_check_box_ticked'.
 for an attribute that you need to use 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

Error rendering macro 'excerpt-include' : No link could be created for '_check_box_ticked'.
 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

Error rendering macro 'excerpt-include' : No link could be created for '_check_box_ticked'.
 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

Error rendering macro 'excerpt-include' : No link could be created for '_check_box_ticked'.
 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

Access Permissions

FieldDescription
All Users Can View Datato do
User Groups

to do

Attribute Types

If you load data without specifying a type what happens?

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

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?

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 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?

Bigstring

Apply a bigstring type to text strings over 4000 characters long. Bigstring is a different data type to string and has some restrictions on filtering, sorting and aggregation.

For PhixFlow instances that use an Oracle database, bigstrings cannot be sorted or aggregated. On Oracle bigstrings may only be filtered with the conditions:

  • (not) contains
  • is (not) null
  • (not) starts with
  • (not) ends with.

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.

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.

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.

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 therefore sets the string data-type.


Graphic

Is this still available?

TrueFalse

Apply a TrueFalse type to fields that can have the values true or false.

The values that are saved as 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 are saved as false are:

  • 0 (zero)
  • any string not listed as true above
  • an empty/null field



  • No labels