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 值。接著下一個資料行區段 Betacab 的列編號會再度從 1 開始。
由於 RowNo() 的 TOTAL 引數, Row Number 資料行會忽略維度,並計入表格中的列。
此運算式會針對每個資料行區段的第一列傳回 0,因此資料行會顯示:
0、2.25、1.1111111、0、2.5、5、0、2、0 和 4。
如需關於運算式的詳細資訊,請參閱在視覺化中使用運算式。