Tworzenie zapytania dla wizualizacji w czasie rzeczywistym

Ukończone

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.