是否可以计算 azure 流分析中各组的累计总和?
这是输入:
TMS product amount
2023-06-01 10:00:00 P1 10
2023-06-01 10:00:20 P2 40
2023-06-01 10:00:25 P2 30
2023-06-01 10:01:05 P1 20
2023-06-01 10:01:20 P2 60
2023-06-01 10:01:25 P1 70
这应该是输出;
TMS product cum_sum
2023-06-01 10:00:00 P1 10
2023-06-01 10:00:20 P2 40
2023-06-01 10:00:25 P2 70
2023-06-01 10:01:05 P1 30
2023-06-01 10:01:20 P2 140
2023-06-01 10:01:25 P1 100
不幸的是我还没有找到解决方案。
最佳答案
是的,可以计算 Azure 流分析中各组的累积总和。您可以将 PARTITION BY
子句与 SUM
函数结合使用来实现此目的。
这是根据您提供的输入生成所需输出的查询。
查询:
SELECT
TMS, product, SUM(amount) OVER (PARTITION BY product LIMIT DURATION (minute, 5)) AS cum_sum
into
output
FROM
input
LIMIT DURATION
子句指定组中包含当前行的多少历史记录。由于示例输入数据在五分钟内,因此我在上面的查询中给出了限制持续时间(分钟,5)
。
输入:
输出:
引用:OVER (Azure Stream Analytics) - Stream Analytics Query | Microsoft Learn
关于azure - 计算 azure 流分析中的累积总和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76556920/