Introduzione all'ottimizzazione delle prestazioni

Completato

L'ottimizzazione delle prestazioni, nota anche come ottimizzazione delle prestazioni, comporta l'esecuzione più efficiente delle modifiche allo stato corrente del modello semantico. Essenzialmente, quando il modello semantico è ottimizzato, offre prestazioni migliori.

È possibile che il report venga eseguito correttamente negli ambienti di test e di sviluppo, ma che si verifichino problemi di prestazioni quando viene distribuito nell'ambiente di produzione per un utilizzo più ampio. Dal punto di vista dell'utente di un report, le prestazioni sono scarse quando il caricamento delle pagine del report e l'aggiornamento degli oggetti visivi richiedono più tempo. Queste prestazioni scarse comportano un'esperienza utente negativa.

In qualità di analista di dati, si spenderà circa il 90% del tempo con i dati e nove volte su dieci, le prestazioni scarse sono un risultato diretto di un modello semantico non valido, di espressioni DAX (Data Analysis Expression) non valido o della combinazione dei due. Il processo di progettazione di un modello semantico per le prestazioni può essere noioso ed è spesso sottovalutato. Tuttavia, se si risostituiscono problemi di prestazioni durante lo sviluppo, si avrà un modello semantico di Power BI affidabile che restituirà prestazioni di report migliori e un'esperienza utente più positiva. Infine, sarà anche possibile mantenere le prestazioni ottimizzate. Man mano che l'organizzazione cresce, le dimensioni dei dati aumentano e il modello semantico diventa più complesso. Ottimizzando il modello semantico in anticipo, è possibile ridurre l'impatto negativo che questa crescita potrebbe avere sulle prestazioni del modello semantico.

Un modello semantico di dimensioni inferiori usa meno risorse (memoria) e consente di ottenere un aggiornamento dei dati, calcoli e rendering più rapidi degli oggetti visivi nei report. Pertanto, il processo di ottimizzazione delle prestazioni comporta la riduzione delle dimensioni del modello semantico e l'uso più efficiente dei dati nel modello, tra cui:

  • Verificando che vengano usati i tipi di dati corretti.

  • Eliminando le colonne e le righe non necessarie.

  • Evitando valori ripetuti.

  • Sostituendo le colonne numeriche con le misure.

  • Riducendo le cardinalità.

  • Analizzando i metadati del modello.

  • Riepilogando i dati, se possibile.

In questo modulo verranno presentati i passaggi, i processi e i concetti necessari per ottimizzare un modello semantico per le prestazioni a livello aziendale. Tenere tuttavia presente che, mentre le linee guida sulle prestazioni e sulle procedure consigliate di base in Power BI consentiranno di ottimizzare un modello semantico per le prestazioni delle query, è probabile che sia necessario collaborare con un data engineer per guidare l'ottimizzazione del modello semantico nelle origini dati di origine.

Si supponga, ad esempio, di lavorare come sviluppatore Microsoft Power BI per Tailwind Traders, È stata assegnata un'attività per esaminare un modello semantico creato alcuni anni fa da un altro sviluppatore, una persona che ha lasciato l'organizzazione.

Il modello semantico genera un report che ha ricevuto feedback negativo dagli utenti. Gli utenti sono soddisfatti dei risultati visualizzati nel report, ma non delle prestazioni del report. Il caricamento delle pagine del report è troppo lento e le tabelle non si aggiornano abbastanza rapidamente quando vengono effettuate determinate selezioni. Oltre a questo feedback, il team IT ha evidenziato che le dimensioni del file di questo particolare modello semantico sono troppo grandi e sta mettendo a dura prova le risorse dell'organizzazione.

È necessario esaminare il modello semantico per identificare la causa radice dei problemi di prestazioni e apportare modifiche per ottimizzare le prestazioni.

Al termine del modulo, sarà possibile:

  • Esaminare le prestazioni di misure, relazioni e oggetti visivi.

  • Usare le variabili per migliorare le prestazioni e la risoluzione dei problemi.

  • Migliorare le prestazioni riducendo i livelli di cardinalità.

  • Ottimizzare i modelli DirectQuery con l'archiviazione a livello di tabella.

  • Creare e gestire aggregazioni.