RowNo - 图表函数
RowNo() 用于返回表格中当前列段数据的当前行数。对于位图图表,RowNo() 用于返回图表的等效垂直表内的当前行数。
如果表格或表格等同物有多个垂直维度,当前列段数据将只包括值与所有维度列的当前行相同的行,但按内部字段排序显示最后维度的列除外。
信息注释当在图表的任何表达式中使用此图表函数时,不允许对图表中的 y 值进行排序或按表中的表达式列进行排序。因此,这些排序替代项会自动禁用。当您在可视化或表格中使用此图表函数时,可视化的排序将返回到此函数的排序输入。
语法:
RowNo([TOTAL])
返回数据类型: 整数
参数:
TOTAL
|
如果表格是单维度或如果将 TOTAL 限定符用作参数,则当前列段数据总是与整列相等。
定义聚合范围
|
示例:使用 RowNo 的图表表达式
加载脚本
将以下数据作为数据加载编辑中的内联加载载入,以创建以下图表表达式示例。
Temp:
LOAD * inline [
Customer|Product|OrderNumber|UnitSales|UnitPrice
Astrida|AA|1|4|16
Astrida|AA|7|10|15
Astrida|BB|4|9|9
Betacab|CC|6|5|10
Betacab|AA|5|2|20
Betacab|BB|1|25| 25
Canutility|AA|3|8|15
Canutility|CC|5|4|19
Divadip|CC|2|4|16
Divadip|DD|3|1|25
] (delimiter is '|');
有关使用内联加载的详细信息,请参阅使用内联加载来加载数据。
图表表达式
在 Qlik Sense 工作表中创建表可视化,以 Customer 和 UnitSales 为维度。添加 RowNo( ) 和 RowNo(TOTAL) 为度量,分别标记为段中的行以及 Row Number。在表格中添加以下表达式作为度量。
If( RowNo( )=1, 0, UnitSales / Above( UnitSales ))
结果
Customer | UnitSales | Row in Segment | Row Number | If( RowNo( )=1, 0, UnitSales / Above( UnitSales )) |
---|
Astrida | 4 | 1 | 1 | 0 |
Astrida | 9 | 2 | 2 | 2.25 |
Astrida | 10 | 3 | 3 | 1.1111111111111 |
Betacab | 2 | 1 | 4 | 0 |
Betacab | 5 | 2 | 5 | 2.5 |
Betacab | 25 | 3 | 6 | 5 |
Canutility | 4 | 1 | 7 | 0 |
Canutility | 8 | 2 | 8 | 2 |
Divadip | 1 | 1 | 9 | 0 |
Divadip | 4 | 2 | 10 | 4 |
解释
Row in Segment 列显示列段数据的结果 1、2 和 3,该列段数据包含客户 Astrida 的 UnitSales 值。然后,再次从 1 开始为下一个列段数据的行进行编号,即 Betacab。
Row Number 列由于 RowNo() 的参数 TOTAL 而忽略维度,并对表中的行进行计数。
此表达式会为每个列段数据中的第一行返回 0,因此列会显示:
0、2.25、1.1111111、0、2.5、5、0、2、0 和 4。
有关表达式的更多信息,请参阅在可视化中使用表达式。