如何在Azure Stream Analytics中创建延迟滑动窗口

如何在Azure Stream Analytics中创建延迟滑动窗口,stream,streaming,iot,azure-iot-hub,azure-stream-analytics,Stream,Streaming,Iot,Azure Iot Hub,Azure Stream Analytics,我想计算流中以下两个值之间的变化率: 滑动窗口中的平均值为1mn 前一分钟滑动窗口中的平均值为1mn 我在文档中唯一找不到的是如何创建延迟滑动窗口,这意味着它比实际时间早2分钟开始,比实际时间早1分钟结束,这样我就可以进行一些计算,比如变化率。您可以分两步进行 计算平均值的一分钟聚合。 在前一个流的平均值上使用 像下面这样 WITH OneMinuteWindows AS ( SELECT Avg(Column1) AvgValue FROM InputEventHub GROU

我想计算流中以下两个值之间的变化率:

滑动窗口中的平均值为1mn 前一分钟滑动窗口中的平均值为1mn
我在文档中唯一找不到的是如何创建延迟滑动窗口,这意味着它比实际时间早2分钟开始,比实际时间早1分钟结束,这样我就可以进行一些计算,比如变化率。

您可以分两步进行

计算平均值的一分钟聚合。 在前一个流的平均值上使用 像下面这样

WITH OneMinuteWindows AS
(
SELECT
    Avg(Column1) AvgValue
FROM
    InputEventHub
GROUP BY
    TumblingWindow(mi, 1)
)

SELECT
    System.TimeStamp [TimeStamp],
    AvgValue [CurrentValue],
    LAG(AvgValue) OVER (LIMIT DURATION(mi, 2)) [PreviousValue]
FROM 
    OneMinuteWindows

谢谢,这也是我刚刚发现的!您知道如何使用LAG按时间而不是最后的n事件获取以前的值吗?例如,当使用滑动窗口而不是翻滚窗口时,如果我使用LAG,它将得到之前的值,可能是1s之前的值。我知道我可以创建两个计算,一个是翻滚计算,一个是滑动窗口计算,但如果我们能以时间单位而不是事件单位来查找过去,那就太好了。