![](/img/trans.png)
[英]Azure Stream Analytics query with tumbling window using BY TIMESTAMP works fine on test but is off in running job results
[英]Find number of queries that appear at least 3 minutes in 5 minutes tumbling window in Azure Stream Analytics
我需要在 Azure Stream Analytics 中找到在 5 分鍾內出現至少 3 分鍾的客戶。
下面的代碼可以找到 5 分鍾內出現的人數 window。
SELECT
apMac,
COUNT(Distinct([clientMac])) AS [numberofClientsPerFiveMinutes],
AVG(rssi) AS [rssiAverage],
System.TimeStamp AS [EventTimestampUTC],
UDF.melbournetime(System.TimeStamp) AS [EventTimestampLocalTime]
INTO [meraki-aggregated-powerbi]
FROM [ExplodedData]
GROUP BY apMac,
TumblingWindow(Minute, 5)
但是,我想計算在此列表中至少存在 3 分鍾的人。 使用他們的第一次出現和最后一次出現(基於他們的查詢時間)。
問題是我不知道 Stream Analytics 中的代碼樣式
我找到了 DATEDIFF 的解決方案,如下所示。 您需要按一個人分組,然后從其最短觀看時間中減去最大值。
SELECT
apmac,
COUNT(DISTINCT ([clientmac])) AS [SeenPassengerNumberInTimeRange],
ABS(DATEDIFF(MINUTE, MAX(seenTimeLocal), MIN(seenTimeLocal))) AS RangeTimeMinute,
EventTimestampLocalTime AS EventTimestampLocalDateTime
FROM [explodeddata]
GROUP BY
apmac,
EventTimestampLocalTime,
Tumblingwindow(minute, 5) -- 5 min window size
HAVING
ABS(DATEDIFF(MINUTE, MAX(seenTimeLocal), MIN(seenTimeLocal))) >= 2 -- at least 2 min
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.