FieldValue - script and chart function
FieldValue() returns the value found in position elem_no of the field field_name (by load order).
Syntax:
FieldValue(field_name , elem_no)
Return data type: dual
Arguments:
- field_name: Name of the field for which the index is required. For example, the column in a table. Must be given as a string value. This means that the field name must be enclosed by single quotes.
- elem_no: The position (element) number of the field,following the load order, that the value is returned for. This could correspond to the row in a table, but it depends on the order in which the elements (rows) are loaded.
Limitations:
-
Sorting on y-values in charts or sorting by expression columns in tables is not allowed when this chart function is used in any of the chart's expressions. These sort alternatives are therefore automatically disabled. When you use this chart function in a visualization or table, the sorting of the visualization will revert back to the sorted input to this function. This limitation does not apply to the equivalent script function.
-
If elem_no is larger than the number of field values, NULL is returned.
Examples:
Add the example data below to your document and run it. The following examples use the field: First name from the tableNames.
Example | Result |
---|---|
Chart function - in a table containing the dimension First name, add as a measure: FieldValue('First name','1') |
John, because John appears first in the load order of the First name field. Note that in a list box John would appear as number 2 from the top, after Jane, as it's sorted alphabetically and not as in the load order. |
Chart function with First name: FieldValue('First name','7') |
NULL, because there are only 6 values in the First name field. |
Script function - given the table Names is loaded, as in the example data: John1: Load FieldValue('First name',1) as MyPos1 Resident Names; |
MyPos1=John, because 'John' appears first in the load order of the First name field. |
Script function with Names: Peter1: Load FieldValue('First name',7) as MyPos2 Resident Names; |
MyPo2s= - (Null), because there are only 6 values in the First namefield. |
Data used in example:
Names:
LOAD * inline [
"First name"|"Last name"|Initials|"Has cellphone"
John|Anderson|JA|Yes
Sue|Brown|SB|Yes
Mark|Carr|MC |No
Peter|Devonshire|PD|No
Jane|Elliot|JE|Yes
Peter|Franc|PF|Yes ] (delimiter is '|');
John1:
Load FieldValue('First name',1) as MyPos1
Resident Names;
Peter1:
Load FieldValue('First name',7) as MyPos2
Resident Names;