Top - 圖表函數
Top() 會在表格中某個資料行區段內的第一 (頂端) 列,評估運算式。用來計算的列取決於 offset 的值,如果呈現,預設情況下是頂端的列。對於表格以外的圖表,Top() 會評估圖表連續表同等表格中目前資料行的第一列。
語法:
Top([TOTAL] expr [ , offset [,count ]])
傳回的資料類型: 雙值
引數:
引數 | 描述 |
---|---|
expr | 包含待測量之資料的運算式或欄位。 |
offset |
將 offset 的 n 指定為大於 1,則可將運算式的評估從頂端列往下移動 n 列。 若指定負值的位移,會讓 Top 函數的作用相當於包含對應正值位移的 Bottom 函數。 |
count | 將第三個參數 count 指定為大於 1,函數會傳回 count 的範圍值,目前資料行區段的最後 count 列的每列一個值。 在這種形式下,該函數可作為任何特殊範圍函數的引數。 範圍函數 |
TOTAL |
如果表格為單一維度或 TOTAL 限定詞作為引數,則目前資料行區段一律等於整個資料行。 |
限制:
-
遞迴呼叫會傳回 NULL。
-
當任何圖表運算式使用了此圖表函數時,就不允許在圖表中依據 Y 值排序,也不允許在表格中依據運算式資料行排序。因此,這些排序替代選項會自動停用。在視覺化或表格中使用此圖表函數時,視覺化排序將還原為對此函數的排序輸入。
範例與結果:
範例: 1
本範例展示的表格螢幕擷取畫面中,表格視覺化是從維度 Customer 和量值:Sum(Sales) 與 Top(Sum(Sales)) 建立而成。
資料行 Top(Sum(Sales)) 針對所有列傳回 587,因為這是頂端列:Astrida 的值。
該表格也顯示更複雜的量值:一個是從 Sum(Sales)+Top(Sum(Sales)) 建立,另一個標記為 Top offset 3,是使用運算式 Sum(Sales)+Top(Sum(Sales), 3) 建立且具有設為 3 的 offset 引數。將目前列的 Sum(Sales) 值加上從頂端列算起第三列的值,也就是目前列加上 Canutility 的值。
範例: 2
本範例展示的表格螢幕擷取畫面中,視覺化中新增了更多維度:Month 和 Product。 對於有多個維度的圖表,包含 Above、Below、Top 及 Bottom 函數的運算式結果取決於按 Qlik Sense 排序的資料行維度的順序。Qlik Sense 會根據上一次排序維度所產生的資料行區段來評估功能。資料行排序順序在屬性面板的排序下進行控制,而不需要按照資料行在表格中呈現的順序。
請參閱 Above 函數中的範例:2 以取得進一步詳細資料。
範例: 3 |
結果 | ||
---|---|---|---|
Top 函數可做為範圍函數的輸入使用。例如:RangeAvg (Top(Sum(Sales),1,3))。 |
在 Top() 函數的引數中,offset 設定為 1,而 count 設定為 3。函數得到資料行區段中頂端列下面一列算起的三列 (因為 offset=1) 和其下方兩列 (其中有一列) 的 Sum(Sales) 運算式結果。這三個值可用做 RangeAvg() 函數的輸入,該函數進而得出所提供數值範圍中的平均值。 含有 Customer 作為維度的表格可提供 RangeAvg() 運算式的以下結果。 |
||
|