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à indica il numero di valori univoci contenuti in una colonna o in un campo di un database. I valori con cardinalità elevata sono in genere numeri di identificazione, indirizzi di posta elettronica o nomi utente.

Un esempio di 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 dei campi ridondanti e non necessari è importante perché si sta tentando di limitare la larghezza delle tabelle, migliorando così le prestazioni di aggiornamento. In genere, i campi ridondanti possono essere rimossi perché è stato creato uno schema star e non è necessario che lo stesso campo venga visualizzato più volte. Con i campi non necessari, si identificano i campi che verranno usati durante l'importazione. È consigliabile iniziare con meno elementi e crescere invece di generare tutti i dati insieme in un unico set di dati di grandi dimensioni.

Creare modelli a prestazioni elevate con schemi star

La progettazione dello schema star consente di sviluppare modelli di Power BI a prestazioni elevate e 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 in cui sono presenti una tabella dei fatti al centro e diverse tabelle delle 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 aggiunta che si ottengono 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 dei dati in Power BI Desktop che supporta la creazione di utili report di Business Intelligence per le gerarchie temporali basati sulle colonne di data caricate in un modello. Se questa opzione attivata, Power BI Desktop crea tabelle 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. La procedura ottimale prevede la creazione di una tabella data e di un collegamento a tale tabella data. È 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.

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

  1. > Selezionare Opzioni file e impostazioni.

  2. Selezionare Opzioni.

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

  4. Deselezionare l'opzione Data/ora automatica per nuovi file nella sezione Funzionalità di Business Intelligence per le gerarchie temporali.

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 da trovare prima l'indice e quindi 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.