内部记录函数
内部记录函数可用于:
- 加载脚本(当对当前记录的评估需要一个来自以前加载的数据记录的值时)。
- 图表表达式(当需要来自图表数据集的其他值时)。
信息注释
当在图表的任何表达式中使用记录间图表函数时,不允许对图表中的 y 值进行排序或按表中的表达式列进行排序。因此,这些排序替代项会自动禁用。
信息注释从 QlikView 12.00 开始,默认激活隐藏零值。如果您在使用记录间函数时要保留与 QlikView 11.20 中相同的行为,应当禁用隐藏零值。打开图表属性,转至外观标签,并取消选择隐藏零值。
信息注释只有在不到 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
[ , expression ]
Lookup() 用于查找已经加载的表格,并返回与在字段 match_field_name 中第一次出现的值 match_field_value 对应的 field_name 值。表格可以是当前表格或之前加载的其他表格。
LookUp(fieldname,
matchfieldname, matchfieldvalue [, tablename])
Peek() 用于在表格中查找已经加载或内部内存中存在的行的字段值。可以将行号指定为表格。
Peek(fieldname [ , row [ , tablename ] ]
Previous() 使用以前输入记录的数据查找 expr 表达式的值。在内部表格的首个记录中,此函数将返回 NULL 值。
Previous(expression )