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