Migliorare un aggiornamento e una funzione del modello

Completato

Prima di esplorare ulteriormente come migliorare un aggiornamento e una funzione del modello, è necessario conoscere il modo in cui Power BI archivia i dati. Analogamente ai file hyper di Tableau, Power BI archivia i dati come database a colonne.

Screenshot del database basato su righe e del database a colonne di Power BI.

Nota

Un database a colonne archivia ogni colonna come file singolo anziché archiviare i dati riga per riga (database basato su righe).

L'archiviazione dei dati come database a colonne è ideale per le tabelle lunghe, in quanto il recupero delle righe per una colonna è molto più veloce. I dati in una colonna sono sempre dello stesso tipo, ad esempio stringa o integer. Poiché tutte le voci di un tipo sono raggruppate, possono essere compresse in modo più efficiente, offrendo prestazioni migliori per l'analisi di grandi volumi di dati.

Nota

Power BI tenta anche di archiviare queste colonne in modo ottimale raggruppandole, ad esempio come elementi. Dopo aver raggruppato le colonne, verrà creato un dizionario di valori distinti mappati.

Migliorare un modello

Per migliorare le prestazioni di un modello, è necessario considerare i fattori seguenti:

  • Cardinalità

  • Modifica di valori BLANK in valori

  • Rimozione di campi ridondanti e non necessari

  • Schemi star

  • Data/ora automatica

  • Integer e stringhe

Rimuovere i campi con cardinalità elevata

La cardinalità si riferisce al numero di valori univoci contenuti in una colonna o in un campo del database. I valori con cardinalità elevata sono in genere numeri di identificazione, indirizzi di posta elettronica o nomi utente.

Screenshot dell'esempio di una colonna di tabella dati con cardinalità elevata è una tabella USERS con una colonna denominata USER_ID.

È quindi necessario valutare per prima cosa la rimozione dei campi con cardinalità elevata. Se è presente un ID univoco per ogni riga, rimuovere il campo. Maggiore è la cardinalità, maggiore è il costo dell'archiviazione. I valori distinti generano costi più elevati.

Un problema comune riguarda i campi data/ora, in cui la combinazione di data e ora aumenta la cardinalità del campo. Per risolvere questo problema, è consigliabile suddividere il campo in campi di data e ora separati.

Modificare i valori BLANK in valori

Quando si scrivono misure, potrebbero verificarsi scenari in cui non è possibile restituire un valore significativo. In questi casi, si potrebbe essere tentati di restituire invece un valore, ad esempio zero. Ai fini delle prestazioni, è consigliabile rivalutare questa soluzione.

Durante la maggior parte dei calcoli, i valori BLANK vengono ignorati, al contrario dei valori zero. La conversione dei valori BLANK in zero obbliga il calcolo a valutare più righe e a restituire un set di risultati di query di grandi dimensioni, causando spesso un rallentamento del rendering del report. In altre parole, la conversione dei valori BLANK in zero aumenta i costi di calcolo.

Rimuovere i campi ridondanti e non necessari

La rimozione di campi ridondanti e non necessari è importante perché si sta tentando di limitare la larghezza delle tabelle, che migliora le prestazioni di aggiornamento. In genere, è possibile rimuovere campi ridondanti perché è stato creato uno schema star e non è necessario che lo stesso campo sia visualizzato più volte. Con i campi non necessari, si identificano i campi che verranno usati durante l'importazione. È consigliabile iniziare a crescere di piccole dimensioni anziché generare tutti i dati insieme in un set di dati di grandi dimensioni.

Creare modelli a prestazioni elevate con schemi star

La progettazione dello schema star è rilevante per lo sviluppo di modelli power BI ad alte prestazioni, utilizzabili. Ogni report di Power BI crea una query che viene inviata al modello di Power BI. Queste query vengono usate per filtrare, raggruppare e riepilogare i dati del modello. Un modello ben progettato fornisce le tabelle per le operazioni di filtro, raggruppamento e riepilogo.

Nota

Uno schema star è un tipo di schema di modellazione dei dati con una tabella dei fatti al centro e diverse tabelle di dimensioni associate intorno alla tabella dei fatti. Gli schemi star sono ottimizzati per l'esecuzione di query su set di dati di grandi dimensioni.

Questo modello ben progettato funziona in modo ottimale con i requisiti dello schema star:

  • Le tabelle delle dimensioni supportano il filtro e il raggruppamento

  • La tabella dei fatti supporta il riepilogo

Uno schema star impedisce il calcolo e la gestione dei join di addizioni che si otterranno da uno schema snowflake, ma offre comunque il vantaggio di dati condensati che una tabella flat non può fornire.

Disattivare l'opzione data/ora automatica

Data/ora automatica è un'opzione di caricamento dati in Power BI Desktop che supporta report di time intelligence utili in base alle colonne di data caricate in un modello. Con questa opzione attivata, Power BI Desktop crea tabelle di data/ora nascoste dietro ogni campo data nel set di dati.

Con tutte queste tabelle data/ora nascoste e i campi data, le dimensioni del modello aumentano in modo significativo. La riduzione delle dimensioni del modello ottimizza le prestazioni, in particolare con i set di dati più grandi. In modo ottimale, è possibile creare una tabella di date e collegarla. È anche possibile aggiungere altre dimensionalità di data con una tabella data che può fornire più funzionalità rispetto alla tabella data/ora automatica nascosta.

Per disattivare l'opzione Data/ora automatica in Power BI, usare la procedura seguente.

  1. > Selezionare Opzioni file e impostazioni.

  2. Selezionare Opzioni.

    Screenshot delle opzioni e delle impostazioni usate per disattivare l'opzione Data/ora automatica.

  3. Selezionare l'opzione Caricamento dati nelle sezioni Globale o File corrente.

  4. Deselezionare la casella Data/ora automatica per i nuovi file nella sezione Intelligence tempo .

Usare valori integer anziché stringhe

È preferibile usare valori integer rispetto alle stringhe per due motivi:

  • L'individuazione della corrispondenza tra un valore integer e un altro valore integer è più veloce rispetto a quella tra stringa e stringa.

  • Le stringhe devono essere archiviate in modo che sia necessario trovare prima l'indice e quindi trovare il valore.

Alle stringhe viene fatto riferimento due volte, mentre ai valori integer viene fatto riferimento una sola volta.

Per altre informazioni, vedere Informazioni su uno schema star e sull'importanza di questo schema per Power BI.