Creare una query per la visualizzazione in tempo reale
Per inviare dati di streaming a Power BI, il processo di Analisi di flusso di Azure usa una query che scrive i risultati in un output di Power BI. Una query semplice che inoltra i dati degli eventi da un hub eventi direttamente a Power BI potrebbe avere un aspetto simile al seguente:
SELECT
EventEnqueuedUtcTime AS ReadingTime,
SensorID,
ReadingValue
INTO
[powerbi-output]
FROM
[eventhub-input] TIMESTAMP BY EventEnqueuedUtcTime
I risultati della query determinano lo schema della tabella nel set di dati di output in Power BI.
In alternativa, è possibile usare la query per filtrare e/o aggregare i dati, inviando solo dati pertinenti o riepilogati al set di dati di Power BI. Ad esempio, la query seguente calcola la lettura massima per ogni sensore diverso dal sensore 0 per ogni minuto consecutivo in cui si verifica un evento.
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
Quando si lavora con le funzioni di finestra, ad esempio la funzione TumblingWindow nell'esempio precedente, si consideri che Power BI è in grado di gestire una chiamata ogni secondo. Inoltre, le visualizzazioni di streaming supportano pacchetti con una dimensione massima di 15 kB. Come regola generale, usare le funzioni finestra per garantire che i dati vengano inviati a Power BI non più frequentemente di ogni secondo e ridurre al minimo i campi inclusi nei risultati per ottimizzare le dimensioni del caricamento dei dati.
Nota
Per altre informazioni sulle limitazioni di output di Power BI, vedere Output di Power BI da Analisi di flusso di Azure nella documentazione di Analisi di flusso di Azure.