Lekérdezés létrehozása valós idejű vizualizációhoz
Streamelési adatok Power BI-ba való küldéséhez az Azure Stream Analytics-feladat egy lekérdezést használ, amely az eredményeket egy Power BI-kimenetbe írja. Egy egyszerű lekérdezés, amely közvetlenül az eseményközpontból továbbítja az eseményadatokat a Power BI-nak, a következőképpen nézhet ki:
SELECT
EventEnqueuedUtcTime AS ReadingTime,
SensorID,
ReadingValue
INTO
[powerbi-output]
FROM
[eventhub-input] TIMESTAMP BY EventEnqueuedUtcTime
A lekérdezés eredményei határozzák meg a tábla sémáját a Power BI kimeneti adathalmazában.
Másik lehetőségként a lekérdezéssel szűrheti és/vagy összesítheti az adatokat, és csak releváns vagy összesített adatokat küldhet a Power BI-adathalmaznak. Az alábbi lekérdezés például kiszámítja a 0-s érzékelőn kívüli összes érzékelő maximális olvasását minden olyan egymást követő percben, amelyben esemény történik.
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
Az ablakfüggvények (például az előző példában a TumblingWindow függvény) használatakor vegye figyelembe, hogy a Power BI képes másodpercenként kezelni a hívásokat. Emellett a streamvizualizációk támogatják a legfeljebb 15 KB méretű csomagokat. Általános szabályként az ablakfüggvények használatával biztosíthatja, hogy az adatok ne legyenek gyakrabban elküldve a Power BI-ba, mint másodpercenként, és minimalizálja az eredményekben szereplő mezőket az adatbetöltés méretének optimalizálása érdekében.
Megjegyzés:
A Power BI kimeneti korlátaival kapcsolatos további információkért tekintse meg az Azure Stream Analytics Power BI-kimenetét az Azure Stream Analytics dokumentációjában.