Skapa en fråga för realtidsvisualisering

Slutförd

För att skicka strömmande data till Power BI använder ditt Azure Stream Analytics-jobb en fråga som skriver dess resultat till ett Power BI-utdata. En enkel fråga som vidarebefordrar händelsedata från en händelsehubb direkt till Power BI kan se ut ungefär så här:

SELECT
    EventEnqueuedUtcTime AS ReadingTime,
    SensorID,
    ReadingValue
INTO
    [powerbi-output]
FROM
    [eventhub-input] TIMESTAMP BY EventEnqueuedUtcTime

Resultatet av frågan avgör schemat för tabellen i utdatauppsättningen i Power BI.

Du kan också använda din fråga för att filtrera och/eller aggregera data och endast skicka relevanta eller sammanfattade data till Power BI-datamängden. Följande fråga beräknar till exempel den maximala avläsningen för varje annan sensor än sensor 0 för varje minut i rad där en händelse inträffar.

SELECT
    DateAdd(second, -60, System.TimeStamp) AS StartTime,
    System.TimeStamp AS EndTime,
    SensorID,
    MAX(ReadingValue) AS MaxReading
INTO
    [powerbi-output]
FROM
    [eventhub-input] TIMESTAMP BY EventEnqueuedUtcTime
WHERE SensorID <> 0
GROUP BY SensorID, TumblingWindow(second, 60)
HAVING COUNT(*) > 1

När du arbetar med fönsterfunktioner (till exempel funktionen TumblingWindow i föregående exempel) bör du tänka på att Power BI kan hantera ett anrop varje sekund. Dessutom stöder strömmande visualiseringar paket med en maximal storlek på 15 KB. Som en allmän regel använder du fönsterfunktioner för att säkerställa att data skickas till Power BI inte oftare än varje sekund och minimerar fälten som ingår i resultaten för att optimera storleken på datainläsningen.

Kommentar

Mer information om begränsningar för Power BI-utdata finns i Power BI-utdata från Azure Stream Analytics i Azure Stream Analytics-dokumentationen.