In the load script, when a value from previously loaded records
of data is needed for the evaluation of the current record.

In a chart expression, when another value from the data set of a chart is needed.

Note: Sorting on y-values in charts or sorting by expression columns in straight tables is not allowed when chart inter-record functions are
used in any of the chart's expressions. These sort alternatives are therefore
automatically disabled.

Note: Self-referencing expression definitions can only reliably be made in tables with fewer than 100 rows, but this may vary depending on the hardware that the engine is running on.

Use the drop-down on each function to see a brief description and the syntax of each function. Click the function name in the syntax description for further details.

Row functions

These functions can only be used in chart expressions.

Above() evaluates an expression at a row above the current row within a column segment in a table. The row for which it is calculated depends on the value of offset, if present, the default being the row directly above. For charts other than tables, Above() evaluates for the row above the current row in the chart's straight table equivalent.

Below() evaluates an expression at a row below the current row within a column segment in a table. The row for which it is calculated depends on the value of offset, if present, the default being the row directly below. For charts other than tables, Below() evaluates for the row below the current column in the chart's straight table equivalent.

Bottom() evaluates an expression at the last (bottom) row of a column segment in a table. The row for which it is calculated depends on the value of offset, if present, the default being the bottom row. For
charts other than tables, the evaluation is made on the last row of the current column in the chart's straight table equivalent.

Top() evaluates an expression at the first (top) row of a column segment in a table. The row for which it is calculated depends on the value of offset, if present, the default being the top row. For charts other than tables, theTop() evaluation is made on the first row of the current column in the chart's straight table equivalent.

NoOfRows() returns the number of rows in the current column segment in a table. For bitmap charts, NoOfRows() returns the number of rows in the chart's straight table equivalent.

These functions can only be used in chart expressions.

Column() returns the value found in the column corresponding to ColumnNo in a straight table, disregarding dimensions. For example Column(2) returns the value of the second measure column.

Dimensionality() returns the number of dimensions for the current row. In the case of pivot tables, the function returns the total number of dimension columns that have non-aggregation content, that is, do not contain partial
sums or collapsed aggregates.

Secondarydimensionality() returns the number of dimension
pivot table rows that have non-aggregation content, that is, do not contain
partial sums or collapsed aggregates. This function is the equivalent
of the dimensionality() function for horizontal pivot table dimensions.

These functions can only be used in chart expressions.

After() returns the value of an expression
evaluated with a pivot table's dimension values as they appear in the
column after the current column within a row segment in the pivot table.

Before() returns the value of an expression
evaluated with a pivot table's dimension values as they appear in the
column before the current column within a row segment in the pivot table.

First() returns the value of an expression
evaluated with a pivot table's dimension values as they appear in the
first column of the current row segment in the pivot table. This function
returns NULL in all chart types except pivot tables.

Last() returns the value of
an expression evaluated with a pivot table's dimension values as they appear in the
last column of the current row segment in the pivot table. This function
returns NULL in all chart types except pivot tables.

Exists() determines whether a specific field
value has already been loaded into the field in the load script. The function returns TRUE or FALSE, so can be used in the where clause of a LOAD statement or an IF statement.

Lookup() looks into a table that is already loaded and returns the value of field_name corresponding to the first
occurrence of the value match_field_value
in the field match_field_name.
The table can be the current table or another table previously loaded.

Peek() finds the value of a field in a table for a row that has already been loaded or that exists in internal memory. The row number can be specified, as can the table.

Previous() finds the value of the expr expression using data from the previous input record. In the first record
of an internal table, the function will return NULL.