Streaming in tempo reale in Power BI

Power BI con flusso in tempo reale consente di trasmettere i dati e aggiornare i dashboard in tempo reale. Tutti gli oggetti visivi o i dashboard creati in Power BI possono visualizzare e aggiornare i dati e gli oggetti visivi in tempo reale. I dispositivi e le origini dati in streaming possono essere sensori factory, origini di social media, metriche di utilizzo del servizio o molti altri sistemi di raccolta o trasmissione di dati associati al tempo.

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

Screenshot del dashboard dei sensori ambientali, che mostra i risultati dei dati in tempo reale.

Tipi di modelli semantici in tempo reale

In primo luogo è importante conoscere i tipi di modelli semantici in tempo reale progettati per la visualizzazione in riquadri (e dashboard) e le differenze tra questi modelli semantici.

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

  • Eseguire il push dei modelli semantici
  • Modello semantico di flusso
  • Modello semantico di flusso PubNub

In questa sezione sono illustrate le differenze tra questi modelli semantici. Le sezioni successive descrivono come eseguire il push dei dati in ciascuno di essi.

Eseguire il push dei modelli semantici

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

Poiché è presente un database sottostante che archivia i dati non appena arrivano, è possibile creare i 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 al dashboard un qualsiasi oggetto visivo del report. Nel dashboard, gli oggetti visivi si aggiornano in tempo reale ogni volta che i dati vengono aggiornati. All'interno del servizio Power BI, il dashboard attiva un aggiornamento del riquadro a ogni ricezione di nuovi dati.

Esistono due aspetti da considerare relativamente ai riquadri aggiunti da un modello semantico push:

  • L'aggiunta di un intero report con l'opzione Scelta live non determina l'aggiornamento automatico dei dati.
  • Dopo aver aggiunto un oggetto visivo a un dashboard, è possibile usare Domande e risposte per porre domande sul modello semantico push in linguaggio naturale. Dopo aver eseguito una query Domande e risposte è possibile aggiungere nuovamente l'oggetto visivo risultante al dashboard, anch'esso aggiornato in tempo reale.

Modello semantico di flusso

Con un modello semantico di streaming, anche i dati vengono spostati nel servizio Power BI, con una differenza importante: Power BI si limita ad archiviare i dati in una cache temporanea, che scadrà rapidamente. La cache temporanea viene usata solo per visualizzare gli oggetti visivi con impostazione cronologica temporanea, ad esempio un grafico a linee con un intervallo di tempo di un'ora.

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

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

In pratica, è consigliabile usare modelli semantici di flusso e i relativi oggetti visivi di flusso nelle situazioni in cui è fondamentale ridurre al minimo la latenza tra push e visualizzazione dei dati. Il push dei dati deve essere eseguito in un formato che può essere visualizzato così come è, senza altre aggregazioni. Tra gli esempi di dati che sono pronti "così come sono" sono incluse le temperature e le medie pre-calcolate.

Modello semantico di flusso PubNub

Con un modello semantico di flusso PubNub, il client Web di Power BI usa SDK PubNub per leggere un flusso dei dati PubNub esistente. Il servizio Power BI non archivia i 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 di supporto sull'approvazione del traffico in uscita per PubNub.

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

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

Matrice del modello semantico di flusso

La tabella seguente descrive i tre tipi di modelli semantici per il flusso 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 viene eseguito il push dei dati .
Per gli oggetti visivi compilati tramite report e quindi aggiunti al dashboard.
.
Per i riquadri di flusso personalizzati aggiunti direttamente al dashboard.
.
Per i riquadri di flusso 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.
Compilare report di Power BI in aggiunta ai dati . Nr. Nr.
Velocità massima di inserimento dati 1 richieste
16 MB/richiesta
5 richieste
15 kB/richiesta
N/D
Non viene eseguito il push dei dati in Power BI.
Limiti alla velocità effettiva dei dati 1 milione di righe/ora Nessuno. N/D
Non viene eseguito il push dei dati in Power BI.

Eseguire il push dei dati nei modelli semantici

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

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

  • Le API REST di Power BI
  • Modelli semantici di flusso 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 flusso. Quando si crea un modello semantico usando le API REST di Power BI, il flag defaultMode specifica se il modello semantico è push o flusso.

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

Nota

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

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 OAuth di Microsoft Entra ID.

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

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

Screenshot delle scelte di Nuovo modello semantico di flusso che mostra la selezione dell'API.

Quando si crea il nuovo modello semantico di flusso, è possibile abilitare Analisi dati cronologici, come illustrato nello screenshot seguente. Questa selezione produce un impatto significativo.

Screenshot di Nuovo modello semantico di flusso che mostra Analisi dati cronologici abilitata.

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

Nota

I modelli semantici di flusso creati tramite l'interfaccia utente del servizio Power BI non richiedono l'autenticazione di Microsoft Entra. In questi modelli semantici, il rispettivo proprietario riceve un URL con rowkey, 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 di Microsoft Entra ID si rivela utile per eseguire il push dei dati nel modello semantico.

Usare Analisi di flusso di Azure per il push dei dati

È possibile aggiungere Power BI come output all'interno di 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 dei dati di output in Power BI, con defaultMode impostato su pushStreaming. Il modello semantico risultante può usare sia push che flusso. Quando si crea il modello semantico, Analisi di flusso di Azure imposta il flag retentionPolicy 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 Analisi di flusso di Azure produce un output estremamente rapido in Power BI, ad esempio, una o due volte al secondo, Analisi di flusso di Azure inizierà a inviare tali output in batch, in un'unica richiesta. Questo invio in batch potrebbe causare il superamento del limite di richiesta dei riquadri di flusso e il rendering dei riquadri di flusso potrebbe non riuscire. In questo caso, la procedura consigliata consiste nel rallentare la velocità di output dei dati in Power BI. Ad esempio, anziché un valore massimo ogni secondo, richiedere un valore massimo su 10 secondi.

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

Per le attività iniziali con il flusso in tempo reale, scegliere uno dei modi seguenti per utilizzare i dati di flusso in Power BI:

  • Riquadri con oggetti visivi dai dati in streaming
  • Modelli semantici creati da dati in streaming che vengono mantenuti in Power BI

In entrambi i casi, è necessario impostare Dati di flusso in Power BI. Per ottenere il modello semantico di flusso 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 flusso personalizzati e quindi selezionare Avanti.

    Screenshot della pagina Aggiungi un riquadro, che mostra la selezione di Dati di flusso personalizzati.

  3. Nella pagina Aggiungi un riquadro dati di flusso personalizzato è possibile selezionare un modello semantico esistente oppure, se è già stato creato un modello semantico, selezionare Gestisci modelli semantici. Se i dati di flusso non sono ancora stati configurati, selezionare Aggiungi modello semantico di flusso per le attività iniziali.

    Screenshot del dashboard, che mostra il collegamento Aggiungi modello semantico di flusso nel riquadro Aggiungi dati di flusso personalizzati.

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

    Screenshot delle opzioni di Nuovo modello semantico di flusso con le opzioni API, Flusso di Azure e PubNub.

Creare un modello semantico di flusso

Power BI può utilizzare e visualizzare tre modi per creare un feed di dati di flusso in tempo reale:

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

Questa sezione descrive le opzioni di API REST di Power BI e PubNub e illustra come creare un riquadro di flusso o un modello semantico dall'origine dati di flusso. Quindi sarà possibile usare il modello semantico per compilare i 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 sviluppo del flusso in tempo reale. Dopo aver selezionato API nella schermata Nuovo modello semantico di flusso e quindi Avanti, è possibile specificare le voci che abilitano Power BI per connettersi e usare l'endpoint. Per altre informazioni sull'API, vedere Usare le API REST di Power BI.

Screenshot della finestra di dialogo Nuovo modello semantico di flusso con le voci dell'API REST di Power BI per una connessione.

Se si desidera che Power BI esegua l’archiviazione dei dati inviati da questo flusso dei dati, così da poter creare report e analisi sui dati raccolti, abilitare Analisi dati cronologici.

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

Attenzione

Per i modelli semantici di flusso creati nell'interfaccia utente del 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 di Microsoft Entra ID. Tenere presente le implicazioni connesse all’avere una chiave privata nell'URL quando si lavora con questo tipo di modello semantico e metodo.

Usare PubNub

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

Screenshot della finestra di dialogo Nuovo modello semantico di flusso, che mostra le voci di PubNub per la connessione.

Importante

È possibile chiudere i canali di PubNub usando una chiave di autenticazione 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 dei dati PubNub sono spesso di grandi dimensioni e non sono sempre adatti all'archiviazione e all'analisi cronologica nella loro forma 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 flusso in tempo reale in Power BI

Di seguito è riportato un esempio di come funziona il flusso in tempo reale in Power BI. Questo campione usa un flusso disponibile pubblicamente di PubNub. Seguire l'esempio per constatare il valore del flusso in tempo reale.

  1. Nel 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 flusso personalizzati e quindi selezionare Avanti.

    Screenshot del dashboard, che mostra Aggiungi riquadro con la selezione di Dati in streaming personalizzati.

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

    Screenshot del dashboard, che mostra il collegamento Aggiungi modello semantico di flusso nel riquadro Aggiungi dati di flusso personalizzati.

  4. Nella pagina Nuovo modello semantico di flusso selezionare PubNub, quindi selezionare Avanti.

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

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

    Screenshot della finestra di dialogo Nuovo modello semantico di flusso che mostra come creare il nome e le voci del modello semantico nei campi Sottochiave e Nome canale.

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

    Screenshot della finestra di dialogo Nuovo modello semantico di flusso con le impostazioni predefinite per Nome del modello semantico e Valori dei campi del flusso.

  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 flusso personalizzati e selezionare Avanti.

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

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

    Screenshot del dashboard dei sensori ambientali, che mostra i risultati in tempo reale.

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

Domande e risposte

Ecco alcune domande comuni e relative risposte sul flusso in tempo reale in Power BI.

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

I modelli semantici di flusso non supportano i filtri. Per i modelli semantici push è possibile creare un report, filtrarlo e quindi aggiungere gli oggetti visivi filtrati a un dashboard. Tuttavia, non è possibile modificare il filtro sull'oggetto visivo una volta che questo sia nel dashboard.

È possibile aggiungere separatamente il riquadro del report live al dashboard, e quindi è possibile modificare i filtri. Tuttavia, i riquadri del report live non si aggiornano 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.

Se si applicano filtri ai modelli semantici push che hanno DateTime campi con precisione al millisecondo, gli operatori di equivalenza non sono supportati. Gli operatori come maggiore di > o minore di < funzionano invece normalmente.

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

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

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

Come si esegue la modellazione su modelli semantici in tempo reale?

Poiché i dati non vengono archiviati in modo permanente, non è possibile eseguire la modellazione in un modello semantico di flusso. Per un modello semantico push, è possibile usare l'API REST di creazione modello semantico 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 cancellare tutti i valori di un modello semantico push o di flusso?

In un modello semantico push è possibile usare la chiamata all’API REST Elimina righe. Non è possibile cancellare i dati da un modello semantico di flusso, tuttavia i dati saranno cancellati automaticamente dopo un'ora.

È stato configurato un output di Analisi di flusso di Azure in Power BI, ma non è 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 ad autorizzare nuovamente la connessione di Power BI con Analisi di flusso di Azure.
  3. Accertare di controllare la stessa area di lavoro nel 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 parola chiave INTO.
  5. Determinare se il processo di Analisi di flusso di Azure include un flusso di dati in entrata. Il modello semantico viene creato solo durante la trasmissione dei dati.
  6. Esaminare i log di Analisi di flusso di Azure per verificare se esistono eventuali 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 che è attivo solo quando la pagina viene utilizzata. L'aggiornamento pagina automatico è disponibile solo per le origini dati DirectQuery. L'intervallo di aggiornamento minimo dipende dal tipo di area di lavoro in cui viene pubblicato il report 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.