lag
lag 函數會計算根據指定的分割和排序量值的滯後 (前面) 值。
lag 支援與根據 SPICE 的分析和直接查詢資料集搭配使用。
語法
需使用括弧。若要了解哪些參數是選用的,請參閱以下描述。
lag (lag ( measure ,[ sortorder_field ASC_or_DESC, ... ] ,lookup_index ,[ partition_field, ... ] )] )
引數
- measure
-
您要取得滯後的度量。這可以包含彙總,例如
sum({Sales Amt})。 - sort order field
-
您要排序資料依據的一或多個度量和維度,以逗號分隔。您可以指定遞增 (
ASC) 或遞減 (DESC) 排序順序。如果有不只一個字,則清單中的每個欄位會括在 {} (大括號) 中。整個清單會以 [ ] (方括弧) 括住。
- lookup index
-
查詢索引可為正值或負值,代表排序中的下一個資料列 (正值) 或排序中的上一個資料列 (負值)。查詢索引可以是 1–2,147,483,647。對於 MySQL、MariaDB 和 Amazon Aurora MySQL 相容版引擎,查詢索引僅限為 1。
- partition field
-
(選用) 您要分割依據的一或多個維度,以逗號分隔。
如果有不只一個字,則清單中的每個欄位會括在 {} (大括號) 中。整個清單會以 [ ] (方括弧) 括住。
範例
以下範例會計算上一個 sum(sales),依來源州分割,對 cancellation_code 按遞增排序順序。
lag ( sum(Sales), [cancellation_code ASC], 1, [origin_state_nm] )
以下範例使用帶有 lag 的計算欄位,顯示在目前資料列金額旁的上一個資料列的銷售金額,依 Order Date 排序。資料表計算中的欄位位於視覺化效果的欄位區。
lag( sum({Sales}), [{Order Date} ASC], 1 )
以下螢幕擷取畫面顯示範例的結果。
以下範例使用帶有 lag 的計算欄位,顯示在目前資料列金額旁的上一個資料列的銷售金額,依 Order Date 排序、Segment 分割。
lag ( sum(Sales), [Order Date ASC], 1, [Segment] )
以下螢幕擷取畫面顯示範例的結果。