Tworzenie zapytania dla wizualizacji w czasie rzeczywistym
Aby wysyłać dane przesyłane strumieniowo do usługi Power BI, zadanie usługi Azure Stream Analytics używa zapytania, które zapisuje wyniki w danych wyjściowych usługi Power BI. Proste zapytanie przekazujące dane zdarzeń z centrum zdarzeń bezpośrednio do usługi Power BI może wyglądać mniej więcej tak:
SELECT
EventEnqueuedUtcTime AS ReadingTime,
SensorID,
ReadingValue
INTO
[powerbi-output]
FROM
[eventhub-input] TIMESTAMP BY EventEnqueuedUtcTime
Wyniki zapytania określają schemat tabeli w wyjściowym zestawie danych w usłudze Power BI.
Alternatywnie możesz użyć zapytania do filtrowania i/lub agregowania danych, wysyłając tylko odpowiednie lub podsumowane dane do zestawu danych usługi Power BI. Na przykład następujące zapytanie oblicza maksymalny odczyt dla każdego czujnika innego niż czujnik 0 dla każdej kolejnej minuty, w której występuje zdarzenie.
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
Podczas pracy z funkcjami okna (takimi jak funkcja TumblingWindow w poprzednim przykładzie) należy wziąć pod uwagę, że usługa Power BI może obsługiwać wywołanie co sekundę. Ponadto wizualizacje przesyłania strumieniowego obsługują pakiety o maksymalnym rozmiarze 15 KB. Ogólnie rzecz biorąc, użyj funkcji okien, aby zapewnić, że dane są wysyłane do usługi Power BI nie częściej niż co sekundę, i minimalizuj pola zawarte w wynikach, aby zoptymalizować rozmiar ładowania danych.
Uwaga
Aby uzyskać więcej informacji na temat ograniczeń danych wyjściowych usługi Power BI, zobacz Dane wyjściowe usługi Power BI z usługi Azure Stream Analytics w dokumentacji usługi Azure Stream Analytics.