windowSum
windowSum
函数计算按指定属性划分和排序的自定义窗口中聚合度量的总和。通常,在视觉对象显示指标和日期字段的时间序列上使用自定义窗口函数。
MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。
语法
括号是必需的。要查看哪些参数是可选的,请参阅以下说明。
windowSum (
measure
,[sort_order_field ASC/DESC, ...]
,start_index
,end_index
,[ partition_field, ... ]
)
参数
- 度量
-
要获取其总和的聚合度量,例如,
sum({Revenue})
。对于引擎 MySQL、MariaDB 和兼容 MySQL 的 Amazon Aurora,查找索引仅限为 1。MySQL 8 之前和 MariaDB 10.2 之前的版本不支持窗口函数。
- sort attribute
-
要在对数据排序时使用的一个或多个聚合字段(度量和/或维度),以逗号分隔。您可以指定升序 (
ASC
) 或降序 (DESC
) 排序顺序。如果列表中的某个字段不止包含一个单词,则用 { } (大括号)将该字段括起来。整个列表括在 [](方括号)内。
- start index
-
起始索引 (start index) 是一个正整数,指示当前行之上的 n 行。起始索引 计算当前行上方的可用数据点,而不是计算实际时间段。如果数据稀疏(例如,缺少几个月或几年),请相应地调整索引。
- end index
-
结束索引 (end index) 是一个正整数,指示当前行之下的 n 行。结束索引 计算当前行下方的可用数据点,而不是计算实际时间段。如果数据稀疏(例如,缺少几个月或几年),请相应地调整索引。
- 分区字段
-
(可选)要在分区时使用的一个或多个维度(以逗号分隔)。
如果列表中的某个字段不止包含一个单词,则用 { } (大括号)将该字段括起来。整个列表括在 [](方括号)内。
示例
以下示例计算 sum(Revenue)
的移动总和(按 SaleDate
排序)。计算包括当前行上方的 2 行和前面的 1 行。
windowSum ( sum(Revenue), [SaleDate ASC], 2, 1 )
以下示例显示随后 12 个月的总和。
windowSum(sum(Revenue),[SaleDate ASC],12,0)
下面的屏幕截图显示了此随后 12 个月总和示例的结果。sum(Revenue)
字段添加到图表中,以显示该收入与随后 12 个月总和收入之间的差异。