Streaming in tempo reale in Power BI

Power BI con lo streaming in tempo reale consente di trasmettere i dati e aggiornare i dashboard in tempo reale. Qualsiasi oggetto visivo o dashboard creato in Power BI può visualizzare e aggiornare dati e oggetti visivi in tempo reale. I dispositivi e le origini dei dati di streaming possono essere sensori di fabbrica, origini di social media, metriche di utilizzo dei servizi o molti altri agenti di raccolta dati o trasmettitori sensibili al tempo.

Questo articolo illustra come configurare e usare modelli semantici di streaming in tempo reale in Power BI.

Screenshot of the Environmental sensors dashboard, showing the results of the data in real-time.

Tipi di modelli semantici in tempo reale

Prima di tutto, è importante comprendere i tipi di modelli semantici in tempo reale progettati per la visualizzazione in riquadri e dashboard e il modo in cui questi modelli semantici differiscono.

I tre tipi seguenti di modelli semantici in tempo reale sono progettati per la visualizzazione nei dashboard in tempo reale:

  • Modello semantico push
  • Modello semantico di streaming
  • Modello semantico di streaming PubNub

In questa sezione viene illustrato come questi modelli semantici differiscono l'uno dall'altro. Le sezioni successive descrivono come eseguire il push dei dati in ognuno di questi modelli semantici.

Modello semantico push

Con un modello semantico push, i dati vengono inseriti nella servizio Power BI. Quando viene creato il modello semantico, il servizio Power BI crea automaticamente un nuovo database nel servizio per archiviare i dati.

Poiché è presente un database sottostante che archivia i dati non appena arriva, è possibile creare report con i dati. Questi report e i relativi oggetti visivi sono esattamente come qualsiasi altro oggetto visivo del report. È possibile usare tutte le funzionalità di creazione di report di Power BI, ad esempio oggetti visivi di Power BI, avvisi dati e riquadri del dashboard aggiunti.

Dopo aver creato un report usando il modello semantico push, è possibile aggiungere uno qualsiasi degli oggetti visivi del report a un dashboard. In tale dashboard gli oggetti visivi vengono aggiornati in tempo reale ogni volta che i dati vengono aggiornati. All'interno del servizio Power BI, il dashboard attiva un aggiornamento del riquadro ogni volta che vengono ricevuti nuovi dati.

Esistono due considerazioni da tenere presenti sui riquadri aggiunti da un modello semantico push:

  • L'aggiunta di un intero report tramite l'opzione Aggiungi in tempo reale non comporta l'aggiornamento automatico dei dati.
  • Dopo aver aggiunto un oggetto visivo a un dashboard, è possibile usare Q&A per porre domande sul modello semantico push in linguaggio naturale. Dopo aver eseguito una query di domande e risposte , è possibile aggiungere nuovamente l'oggetto visivo risultante al dashboard e tale oggetto visivo verrà aggiornato in tempo reale.

Modello semantico di streaming

Un modello semantico di streaming inserisce anche i dati nel servizio Power BI, con una differenza importante: Power BI archivia i dati solo in una cache temporanea, che scade rapidamente. La cache temporanea viene usata solo per visualizzare oggetti visivi con cronologia temporanea, ad esempio un grafico a linee con un intervallo di tempo di un'ora.

Un modello semantico di streaming non ha un database sottostante, quindi non è possibile compilare oggetti visivi del report usando i dati trasmessi dal flusso. Non è quindi possibile usare funzionalità del report, ad esempio filtri, oggetti visivi di Power BI e altre funzioni del report.

L'unico modo per visualizzare un modello semantico di streaming consiste nell'aggiungere un riquadro e usare il modello semantico di streaming come origine dati di streaming personalizzata. I riquadri di streaming personalizzati basati su un modello semantico di streaming sono ottimizzati per la visualizzazione rapida dei dati in tempo reale. Tra il push dei dati nell'servizio Power BI e l'aggiornamento dell'oggetto visivo non è necessaria una latenza tra il push dei dati e l'aggiornamento dell'oggetto visivo, perché non è necessario immettere o leggere i dati da un database.

In pratica, è consigliabile usare modelli semantici di streaming e i relativi oggetti visivi di streaming in situazioni in cui è fondamentale ridurre al minimo la latenza tra push e visualizzazione dei dati. I dati devono essere inseriti in un formato che può essere visualizzato così come sono, senza altre aggregazioni. Esempi di dati pronti così come sono le temperature e le medie pre-calcolate.

Modello semantico di streaming PubNub

Con un modello semantico di streaming PubNub, il client Web Power BI usa PubNub SDK per leggere un flusso di dati PubNub esistente. Il servizio Power BI non archivia dati. Poiché il client Web effettua questa chiamata direttamente, se si consente solo il traffico in uscita approvato dalla rete, è necessario elencare il traffico a PubNub come consentito. Per istruzioni, vedere l'articolo del supporto sull'approvazione del traffico in uscita per PubNub.

Come per il modello semantico di streaming, con il modello semantico di streaming PubNub non esiste un database power BI sottostante. Non è possibile creare oggetti visivi del report rispetto ai dati in cui viene eseguito il flusso e non è possibile usare funzionalità del report come il filtro o gli oggetti visivi di Power BI. È possibile visualizzare un modello semantico di streaming PubNub solo aggiungendo un riquadro al dashboard e configurando un flusso di dati PubNub come origine.

I riquadri basati su un modello semantico di streaming PubNub sono ottimizzati per la visualizzazione rapida dei dati in tempo reale. Poiché Power BI è connesso direttamente al flusso di dati PubNub, tra il push dei dati nell'servizio Power BI e l'aggiornamento dell'oggetto visivo si verifica una latenza minima.

Matrice del modello semantico di streaming

La tabella seguente descrive i tre tipi di modelli semantici per lo streaming in tempo reale ed elenca le relative funzionalità e limitazioni.

Funzionalità Push Streaming PubNub
I riquadri del dashboard vengono aggiornati in tempo reale man mano che vengono inseriti i dati .
Per gli oggetti visivi compilati tramite report e quindi aggiunti al dashboard.
.
Per i riquadri di streaming personalizzati aggiunti direttamente al dashboard.
.
Per i riquadri di streaming personalizzati aggiunti direttamente al dashboard.
Aggiornare i riquadri del dashboard con animazioni uniformi Nr. . .
Dati archiviati in modo permanente in Power BI per l'analisi cronologica . Nr.
I dati vengono archiviati temporaneamente per un'ora per il rendering degli oggetti visivi.
Nr.
Creare report di Power BI sui dati . Nr. Nr.
Velocità massima di inserimento dati 1 richieste
16 MB/richiesta
5 richieste
15 KB/richiesta
N/D
I dati non vengono inseriti in Power BI.
Limiti alla velocità effettiva dei dati 1M righe/ora Nessuno. N/D
I dati non vengono inseriti in Power BI.

Eseguire il push dei dati in modelli semantici

Questa sezione descrive come creare ed eseguire il push dei dati nei tre tipi principali di modelli semantici in tempo reale che è possibile usare in streaming in tempo reale.

È possibile eseguire il push dei dati in un modello semantico usando i metodi seguenti:

  • API REST di Power BI
  • Interfaccia utente del modello semantico di streaming di Power BI
  • Analisi di flusso di Azure

Usare le API REST di Power BI per eseguire il push dei dati

È possibile usare le API REST di Power BI per creare e inviare dati ai modelli semantici push e ai modelli semantici di streaming. Quando si crea un modello semantico usando le API REST di Power BI, il defaultMode flag specifica se il modello semantico è push o streaming.

Se non è impostato alcun defaultMode flag, per impostazione predefinita il modello semantico viene impostato su un modello semantico push. Se il defaultMode valore è impostato su pushStreaming, il modello semantico è un modello semantico push e streaming e offre i vantaggi di entrambi i tipi di modello semantico.

Nota

Quando si usano modelli semantici con il defaultMode flag impostato su pushStreaming, se una richiesta supera la restrizione delle dimensioni di 15 KB per un modello semantico di streaming, ma è inferiore alla restrizione delle dimensioni di 16 MB per un modello semantico push, la richiesta ha esito positivo e gli aggiornamenti dei dati nel modello semantico push. Tuttavia, tutti i riquadri di streaming hanno esito negativo temporaneamente.

Dopo aver creato un modello semantico, è possibile usare le API REST PostRows per eseguire il push dei dati. Tutte le richieste alle API REST vengono protette tramite Microsoft Entra ID OAuth.

Usare l'interfaccia utente del modello semantico di streaming per eseguire il push dei dati

Nella servizio Power BI è possibile creare un modello semantico selezionando l'approccio API, come illustrato nello screenshot seguente:

Screenshot of the New streaming semantic model choices, showing the API selection.

Quando si crea il nuovo modello semantico di streaming, è possibile abilitare l'analisi dei dati cronologici, come illustrato nello screenshot seguente. Questa selezione ha un impatto significativo.

Screenshot of the New streaming semantic model, showing Historic data analysis enabled.

Quando l'analisi dei dati cronologici è disabilitata, perché è per impostazione predefinita, si crea un modello semantico di streaming come descritto in precedenza. Quando l'analisi dei dati cronologici è abilitata, il modello semantico creato diventa sia un modello semantico di streaming che un modello semantico push. Questa impostazione equivale all'uso delle API REST di Power BI per creare un modello semantico con il relativo defaultMode set su pushStreaming, come descritto in precedenza.

Nota

I modelli semantici di streaming creati usando l'interfaccia utente di servizio Power BI non richiedono l'autenticazione di Microsoft Entra. In questi modelli semantici, il proprietario del modello semantico riceve un URL con una chiave di riga, che autorizza il richiedente a eseguire il push dei dati nel modello semantico senza usare un token di connessione OAuth per ID Microsoft Entra. Tuttavia, l'approccio Microsoft Entra ID funziona ancora per eseguire il push dei dati nel modello semantico.

Usare Analisi di flusso di Azure per eseguire il push dei dati

È possibile aggiungere Power BI come output in Analisi di flusso di Azure e quindi visualizzare i flussi di dati nel servizio Power BI in tempo reale. Questa sezione descrive i dettagli tecnici del processo.

Analisi di flusso di Azure usa le API REST di Power BI per creare il flusso di dati di output in Power BI, con defaultMode impostato su pushStreaming. Il modello semantico risultante può usare sia il push che lo streaming. Quando si crea il modello semantico, Analisi di flusso di Azure imposta il retentionPolicy flag su basicFIFO. Con questa impostazione, il database che supporta il modello semantico push archivia 200.000 righe e elimina le righe in modo FIFO (First-In First-Out).

Importante

Se la query di Analisi di flusso di Azure genera un output molto rapido in Power BI, ad esempio una o due volte al secondo, Analisi di flusso di Azure avvia l'invio in batch degli output in una singola richiesta. Questo batch potrebbe causare il superamento del limite di riquadri di streaming e il rendering dei riquadri di streaming potrebbe non riuscire. In questo caso, la procedura consigliata consiste nel rallentare la frequenza di output dei dati in Power BI. Ad esempio, anziché un valore massimo ogni secondo, richiedere un valore massimo superiore a 10 secondi.

Configurare il modello semantico di streaming in tempo reale in Power BI

Per iniziare a usare lo streaming in tempo reale, è possibile scegliere uno dei modi seguenti per usare i dati di streaming in Power BI:

  • Riquadri con oggetti visivi provenienti da dati in streaming
  • Modelli semantici creati da dati di streaming persistenti in Power BI

Per entrambe le opzioni, è necessario configurare i dati di streaming in Power BI. Per ottenere il modello semantico di streaming in tempo reale in Power BI:

  1. In un dashboard esistente o nuovo selezionare Aggiungi un riquadro.

  2. Nella pagina Aggiungi un riquadro selezionare Dati di streaming personalizzati e quindi selezionare Avanti.

    Screenshot of the Add a tile page, showing the Custom Streaming Data selection.

  3. Nella pagina Aggiungi un riquadro dati di streaming personalizzato è possibile selezionare un modello semantico esistente oppure selezionare Gestisci modelli semantici per importare il modello semantico di streaming se ne è già stato creato uno. Se i dati di streaming non sono ancora stati configurati, selezionare Aggiungi modello semantico di streaming per iniziare.

    Screenshot of the dashboard, showing the Add streaming semantic model link in the Add a custom streaming data tile.

  4. Nella pagina Nuovo modello semantico di streaming selezionare API, Azure Stream o PubNub e quindi selezionare Avanti.

    Screenshot of the New streaming semantic model choices, showing API, Azure Stream, and PubNub options.

Creare un modello semantico di streaming

Esistono tre modi per creare un feed di dati in streaming in tempo reale che Power BI può usare e visualizzare:

  • API REST di Power BI con un endpoint di streaming in tempo reale
  • Azure Stream
  • PubNub

Questa sezione descrive le opzioni API REST di Power BI e PubNub e illustra come creare un riquadro di streaming o un modello semantico dall'origine dati di streaming. È quindi possibile usare il modello semantico per compilare report. Per altre informazioni sull'opzione Flusso di Azure, vedere Output di Power BI da Analisi di flusso di Azure.

Usare l'API REST di Power BI

L'API REST di Power BI semplifica lo streaming in tempo reale per gli sviluppatori. Dopo aver selezionato API nella schermata Nuovo modello semantico di streaming e selezionare Avanti, è possibile specificare le voci che consentono a Power BI di connettersi e usare l'endpoint. Per altre informazioni sull'API, vedere Usare le API REST di Power BI.

Screenshot of the New streaming semantic model dialog, showing the Power BI REST API entries for a connection.

Se si vuole che Power BI archivi i dati inviati da questo flusso di dati, in modo da poter creare report e analisi sui dati raccolti, abilitare l'analisi dei dati cronologici.

Dopo aver creato correttamente il flusso di dati, si ottiene un endpoint dell'URL dell'API REST. L'applicazione può chiamare l'endpoint usando POST le richieste per eseguire il push dei dati di streaming nel modello semantico di Power BI. POST Nelle richieste assicurarsi che il corpo della richiesta corrisponda al codice JSON di esempio fornito dall'interfaccia utente di Power BI. Ad esempio, eseguire il wrapping degli oggetti JSON in una matrice.

Attenzione

Per i modelli semantici di streaming creati nell'interfaccia utente di servizio Power BI, il proprietario del modello semantico ottiene un URL che include una chiave di risorsa. Questa chiave autorizza il richiedente a eseguire il push dei dati nel modello semantico senza usare un token di connessione OAuth per ID Microsoft Entra. Tenere presente le implicazioni di avere una chiave privata nell'URL quando si lavora con questo tipo di modello semantico e metodo.

Usare PubNub

L'integrazione dello streaming PubNub con Power BI consente di creare e usare i flussi di dati PubNub a bassa latenza in Power BI. Quando si seleziona PubNub nella schermata Nuovo modello semantico di streaming e si seleziona Avanti, viene visualizzata la schermata seguente:

Screenshot of the New streaming semantic model dialog, showing the PubNub entries for connection.

Importante

È possibile proteggere i canali PubNub usando una chiave di autenticazione di PubNub Access Manager (PAM). Questa chiave viene condivisa con tutti gli utenti che hanno accesso al dashboard. Per altre informazioni sul controllo di accesso PubNub, vedere Gestire l'accesso.

I flussi di dati PubNub sono spesso volumi elevati e non sono sempre adatti per l'archiviazione e l'analisi cronologica nel formato originale. Per usare Power BI per l'analisi cronologica dei dati PubNub, è necessario aggregare il flusso PubNub non elaborato e inviarlo a Power BI, ad esempio usando Analisi di flusso di Azure.

Esempio di streaming in tempo reale in Power BI

Ecco un esempio del funzionamento dello streaming in tempo reale in Power BI. Questo esempio usa un flusso disponibile pubblicamente da PubNub. Seguire l'esempio per visualizzare il valore dello streaming in tempo reale.

  1. Nella servizio Power BI selezionare o creare un nuovo dashboard. Nella parte superiore della schermata selezionare Modifica>Aggiungi riquadro.

  2. Nella schermata Aggiungi un riquadro selezionare Dati di streaming personalizzati e quindi selezionare Avanti.

    Screenshot of the dashboard, showing the Add tile with the Custom streaming data selection.

  3. Nella pagina Aggiungi un riquadro dati di streaming personalizzato selezionare Aggiungi modello semantico di streaming.

    Screenshot of the dashboard, showing the Add streaming semantic model link in the Add a custom streaming data tile.

  4. Nella pagina Nuovo modello semantico di streaming selezionare PubNub e quindi selezionare Avanti.

  5. Nella schermata successiva immettere un nome di modello semantico, immettere i valori seguenti nei due campi successivi e quindi selezionare Avanti.

    • Sottochiave:sub-c-99084bc5-1844-4e1c-82ca-a01b18166ca8
    • Nome canale:pubnub-sensor-network

    Screenshot of the New streaming semantic model dialog, showing how to create a Semantic model name and entries in the Sub-key and Channel name fields.

  6. Nella schermata successiva mantenere i valori popolati automaticamente e selezionare Crea.

    Screenshot of the New streaming semantic model dialog, showing defaults for the Semantic model name and Values from stream fields.

  7. Tornare all'area di lavoro di Power BI, creare un nuovo dashboard e nella parte superiore della schermata selezionare Modifica>Aggiungi un riquadro.

  8. Selezionare Dati di streaming personalizzati e selezionare Avanti.

  9. Nella pagina Aggiungi un riquadro dati di streaming personalizzato selezionare il nuovo modello semantico di streaming e quindi selezionare Avanti.

    Provare a usare il modello semantico di esempio. Aggiungendo campi valore ai grafici a linee e aggiungendo altri riquadri, è possibile ottenere un dashboard in tempo reale simile allo screenshot seguente:

    Screenshot of the Environmental sensors dashboard, showing the results in real-time.

Passare a creare modelli semantici personalizzati e trasmettere dati live a Power BI.

Domande e risposte

Ecco alcune domande e risposte comuni sullo streaming in tempo reale in Power BI.

È possibile usare filtri per i modelli semantici push o di streaming?

I modelli semantici di streaming non supportano il filtro. Per i modelli semantici push, è possibile creare un report, filtrare il report e quindi aggiungere gli oggetti visivi filtrati a un dashboard. Tuttavia, non è possibile modificare il filtro nell'oggetto visivo una volta che si trovano nel dashboard.

È possibile aggiungere il riquadro del report animato al dashboard separatamente e quindi modificare i filtri. Tuttavia, i riquadri del report in tempo reale non verranno aggiornati in tempo reale man mano che i dati vengono inseriti. È necessario aggiornare manualmente l'oggetto visivo selezionando l'icona Aggiorna in alto a destra nella pagina del dashboard.

Quando si applicano filtri ai modelli semantici push con DateTime campi con precisione millisecondi, gli operatori di equivalenza non sono supportati. Operatori come maggiore > o minore di quanto < funzionino correttamente.

Come viene visualizzato il valore più recente nei modelli semantici push o streaming?

I modelli semantici di streaming sono progettati per visualizzare i dati più recenti. È possibile usare il tipo di oggetto visivo Streaming di schede per visualizzare facilmente i valori numerici più recenti. Gli oggetti visivi scheda non supportano DateTime o Text tipi di dati.

Per i modelli semantici push, se si ha un timestamp nello schema, è possibile provare a creare un oggetto visivo del report con il last N filtro.

Come è possibile eseguire la modellazione su modelli semantici in tempo reale?

La modellazione non è possibile in un modello semantico di streaming, perché i dati non vengono archiviati in modo permanente. Per un modello semantico push, è possibile usare l'API REST per creare un modello semantico con relazioni e misure e usare le API REST della tabella di aggiornamento per aggiungere misure alle tabelle esistenti.

Come è possibile cancellare tutti i valori in un modello semantico push o di streaming?

In un modello semantico push è possibile usare la chiamata ALL'API REST delete rows. Non è possibile cancellare i dati da un modello semantico di streaming, anche se i dati verranno cancellati dopo un'ora.

Se si configura un output di Analisi di flusso di Azure in Power BI ma non viene visualizzato in Power BI, qual è il problema?

Per risolvere il problema, seguire questa procedura:

  1. Riavviare il processo di Analisi di flusso di Azure.
  2. Provare a riautorizzare la connessione di Power BI in Analisi di flusso di Azure.
  3. Assicurarsi di controllare la stessa area di lavoro nella servizio Power BI specificata per l'output di Analisi di flusso di Azure.
  4. Assicurarsi che la query di Analisi di flusso di Azure restituisca in modo esplicito l'output di Power BI usando la INTO parola chiave .
  5. Determinare se il processo di Analisi di flusso di Azure include dati che passano attraverso di esso. Il modello semantico viene creato solo quando i dati vengono trasmessi.
  6. Esaminare i log di Analisi di flusso di Azure per verificare se sono presenti avvisi o errori.

Aggiornamento pagina automatico

È possibile usare l'aggiornamento automatico della pagina a livello di pagina del report per impostare un intervallo di aggiornamento per gli oggetti visivi attivi solo quando la pagina viene utilizzata. L'aggiornamento automatico delle pagine è disponibile solo per le origini dati DirectQuery. L'intervallo di aggiornamento minimo dipende dal tipo di area di lavoro in cui il report viene pubblicato e dalle impostazioni di amministrazione della capacità per le aree di lavoro Premium.

Per altre informazioni sull'aggiornamento automatico delle pagine, vedere Aggiornamento pagina automatico in Power BI.