本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Lag
lag
函数计算基于指定分区和排序的度量的滞后(上一个)值。
lag
支持用于基于 SPICE 和直接查询数据集的分析。
语法
括号是必需的。要查看哪些参数是可选的,请参阅以下说明。
lag (
lag ( measure ,[ sortorder_field ASC_or_DESC, ... ] ,lookup_index ,[ partition_field, ... ] )
] )
参数
- 度量
-
要获取滞后值的度量。这可能包括聚合,例如,
sum({Sales Amt})
。 - 排序顺序字段
-
要在对数据排序时使用的一个或多个度量和维度(以逗号分隔)。您可以指定升序 (
ASC
) 或降序 (DESC
) 排序顺序。如果包含多个单词,则将列表中的每个字段括在 {}(大括号)内。整个列表括在 [](方括号)内。
- 查找索引
-
查找索引可以为正数或负数,表示排序中的下一行(正数)或排序中的上一行(负数)。查找索引可以为 1-2,147,483,647。对于引擎 MySQL、MariaDB 和 Amazon Aurora MySQL 兼容版,查找索引仅限为 1。
- 分区字段
-
(可选)要在分区时使用的一个或多个维度(以逗号分隔)。
如果包含多个单词,则将列表中的每个字段括在 {}(大括号)内。整个列表括在 [](方括号)内。
示例
以下示例计算上一个 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] )
以下屏幕截图显示了示例的结果。