簡體   English   中英

在 Azure Stream 分析中查找在 5 分鍾內出現至少 3 分鍾的查詢數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM