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