内部记录函数
内部记录函数可用于:
- 数据加载脚本(当对当前记录的评估需要一个来自以前加载的数据记录的值时)。
- 图表表达式(当需要来自可视化数据集的其他值时)。
信息注释
当在图表的任何表达式中使用记录间图表函数时,不允许对图表中的 y 值进行排序或按表中的表达式列进行排序。因此,这些排序替代项会自动禁用。当您在可视化或表格中使用记录间图表功能时,可视化的排序将返回到记录间功能的排序输入。此限制不适用于等效的脚本函数(如果有)。
信息注释只有在行数少于 100 的表中才能可靠地进行自参考表达式定义,但是情况可能会发生变化,具体取决于 Qlik 引擎在什么硬件上运行。
使用每个函数的下拉列表可查看每个函数的简短描述和语法。单击语法描述中的函数名称可了解更多信息。
行函数
这些函数只可用于图表表达式中。
Above() 用于评估表格中列段数据内当前行上方的行的表达式。要计算的行取决于 offset 值,如果存在,则默认计算直接上面的行。对于除表格以外的图表,Above() 用于计算图表的等效垂直表中当前行上面的行的值。
above([TOTAL [<fld{,fld}>]] expr
[ , offset [,count]])
Below() 用于评估表格中列段数据内当前行下面的行的表达式。要计算的行取决于 offset 值,如果存在,则默认计算直接下面的行。对于除表格以外的图表,Below() 用于计算图表的等效垂直表中当前列下面的行的值。
below([TOTAL[<fld{,fld}>]] expression
[ , offset [,count
]])
Bottom() 用于评估表格中列段数据最后一(底部)行的表达式。要计算的行取决于 offset 值,如果存在,则默认计算底行。对于除表格以外的图表,用于计算图表的等效垂直表中当前列的最后一行的值。
bottom([TOTAL[<fld{,fld}>]] expr
[ , offset [,count
]])
Top() 用于评估表格中列段数据第一(顶部)行的表达式。要计算的行取决于 offset 值,如果存在,则默认计算顶行。对于除表格以外的图表,Top() 用于计算图表的等效垂直表中当前列的第一行的值。
top([TOTAL [<fld{,fld}>]] expr [ , offset [,count
]])
NoOfRows() 用于返回表格中当前列段数据的行数。对于位图图表,NoOfRows() 用于返回图表的等效垂直表中的行数。
noofrows([TOTAL])
列函数
这些函数只可用于图表表达式中。
Column() 用于返回在列中找到与 ColumnNo 在垂直表中找到的值对应的值,将会忽略维度。例如,Column(2) 用于返回第二个度量列的值。
column(ColumnNo)
Dimensionality() 用于返回当前行的维度数量。在透视表中,此函数返回包含非聚合内容的总维度列数,即不包含部分总和或折叠聚合。
dimensionality ( )
SecondaryDimensionality() 返回包含非聚合函数内容的维度透视表行数,即不包含部分总和或折叠聚合。此函数等同于水平透视表维度的 dimensionality() 函数。
secondarydimensionality ( )
字段函数
FieldIndex() 用于返回字段 field_name(按加载顺序)中的字段值 value 的位置。
fieldindex(field_name ,
value)
FieldValue() 用于返回在字段 field_name(按加载顺序)的位置 elem_no 找到的值。
fieldvalue(field_name , elem_no)
透视表函数
这些函数只可用于图表表达式中。
After() 用于返回使用透视表的维度值评估的表达式值,因为维度值显示在透视表的行段内当前列之后的列。
after([TOTAL] expression
[ , offset [,n]])
Before() 返回使用透视表的维度值评估的表达式,因为维度值显示在透视表的行段内当前列之前的列。
before([TOTAL] expression
[ , offset [,n]])
First() 用于返回使用透视表的维度值评估的表达式值,因为维度值显示在透视表的当前行段的第一列。在除透视表之外的所有图表类型中,此函数会返回 NULL。
first([TOTAL] expression
[ , offset [,n]])
Last() 返回使用透视表的维度值评估的表达式值,因为维度值显示在透视表的当前行段的最后一列。在除透视表之外的所有图表类型中,此函数会返回 NULL。
last([TOTAL] expression
[ , offset [,n]])
ColumnNo() 用于返回透视表的当前行段中的当前列数。第一列是数字 1。
columnno([TOTAL])
数据加载脚本中的内部记录函数
Exists() 用于确定是否已经将特定字段值加载到数据加载脚本中的字段。此函数用于返回 TRUE 或 FALSE,这样它可以用于 LOAD 语句或 IF 语句中的 where 子句。
Exists(field_name
[, expr])
Lookup() 用于查找已经加载的表格,并返回与在字段 match_field_name 中第一次出现的值 match_field_value 对应的 field_name 值。表格可以是当前表格或之前加载的其他表格。
LookUp(field_name,
match_field_name, match_field_value [, table_name])
Peek() 用于在表格中返回已经加载行的字段值。可以将行号指定为表格。如果未指定行号,将使用上次加载的记录。
Peek(field_name[, row_no[, table_name ] ])
Previous() 用于查找使用因 where 子句而未丢弃的以前输入记录的数据的 expr 表达式的值。在内部表格的首个记录中,此函数将返回 NULL 值。
Previous(expr)