Correggere i problemi di prestazioni

Completato

Occasionalmente, le organizzazioni devono affrontare problemi correlati alle prestazioni durante l'esecuzione di report. Power BI fornisce lo strumento Analizzatore prestazioni, che aiuta a risolvere i problemi e semplificare il processo.

Prendere in considerazione lo scenario in cui si stanno creando report per il team Sales nell'organizzazione. Sono stati importati i dati, che si trovano in diverse tabelle nel database SQL del team di vendita, creando una connessione dati al database tramite DirectQuery. Quando si creano oggetti visivi e filtri preliminari, si nota che le query su alcune tabelle vengono eseguite più rapidamente di altre e che alcuni filtri richiedono più tempo per l'elaborazione rispetto ad altri.

Ottimizzare le prestazioni in Power Query

Le prestazioni in Power Query dipendono dalle prestazioni a livello di origine dati. La varietà di origini dati offerte Power Query è ampia e le tecniche di ottimizzazione delle prestazioni per ogni origine sono altrettanto ampie. Se, ad esempio, si estraggono dati da Microsoft SQL Server, è necessario seguire le linee guida per l'ottimizzazione delle prestazioni per tale prodotto. Le tecniche di ottimizzazione delle prestazioni di SQL Server includono la creazione di indici, gli aggiornamenti hardware, l'ottimizzazione del piano di esecuzione e la compressione dei dati. Questi argomenti esulano dall'ambito di questo modulo e vengono illustrati solo come esempio per consentire di acquisire familiarità con l'origine dati e sfruttare i vantaggi quando si usano Power BI e Power Query.

Power Query sfrutta le ottime prestazioni dell'origine dati attraverso una tecnica denominata riduzione della query.

Riduzione della query

La riduzione della query nell'editor di Power Query consente di migliorare le prestazioni dei report di Power BI. La riduzione delle query è il processo in base al quale le trasformazioni e le modifiche apportate in editor di Power Query vengono monitorate simultaneamente come query native o semplici istruzioni Select SQL, mentre si apportano attivamente trasformazioni. Il motivo per l'implementazione di questo processo consiste nel garantire che queste trasformazioni possano essere eseguite nel server di origine dati originale e non sovraccaricare le risorse di calcolo di Power BI.

È possibile usare Power Query per caricare i dati in Power BI. Usare quindi editor di Power Query per trasformare i dati, ad esempio rinominare o eliminare colonne, accodamento, analisi, filtro o raggruppamento dei dati.

Si consideri uno scenario in cui sono state rinominate alcune colonne nei dati di vendita e le colonne relative a città (city) e stato (state) sono state unite nel formato "city state". Nel frattempo, la funzionalità di riduzione della query tiene traccia delle modifiche nelle query native. Quindi, quando si caricano i dati, le trasformazioni avvengono in modo indipendente nell'origine originale, assicurando l'ottimizzazione delle prestazioni in Power BI.

I vantaggi della riduzione della query includono:

  • Maggiore efficienza negli aggiornamenti dei dati e negli aggiornamenti incrementali. Quando si importano tabelle dati usando la riduzione delle query, Power BI è in grado di allocare risorse e aggiornare i dati più velocemente perché Power BI non deve eseguire ogni trasformazione in locale.

  • Compatibilità automatica con le modalità di archiviazione doppia e DirectQuery. Tutte le origini dati con modalità di archiviazione DirectQuery e doppia devono disporre delle capacità di elaborazione del server back-end per creare una connessione diretta, quindi la riduzione della query è una funzionalità automatica che è possibile usare. Se tutte le trasformazioni possono essere ridotte a una singola istruzione Select, è possibile applicare la riduzione della query.

Lo scenario seguente mostra il funzionamento della riduzione della query. In questo scenario viene applicato un set di query a più tabelle. Dopo aver aggiunto una nuova origine dati usando Power Query e si viene indirizzati alla editor di Power Query, passare al riquadro Impostazioni query e fare clic con il pulsante destro del mouse sull'ultimo passaggio applicato, come illustrato nella figura seguente.

Screenshot del menu di scelta rapida visualizzato facendo clic con il pulsante destro del mouse sull'ultimo passaggio applicato.

Se l'opzione Visualizza query nativa non è disponibile (non visualizzata in grassetto), la riduzione delle query non è possibile per questo passaggio e sarà necessario tornare indietro nell'area Passaggi applicati fino a raggiungere il passaggio in cui è disponibile View Native Query (visualizza il tipo in grassetto). Questo processo visualizzerà la query nativa usata per trasformare il modello semantico.

Le query native non sono possibili per le trasformazioni seguenti:

  • Aggiunta di una colonna indice
  • Unione e accodamento di colonne di tabelle diverse con due origini diverse
  • Modifica del tipo di dati di una colonna

Può essere utile ricordare che se è possibile convertire una trasformazione in un'istruzione SQL Select, che include operatori e clausole come GROUP BY, SORT BY, WHERE, UNION ALL e JOIN, è possibile usare la riduzione della query.

La riduzione della query è un'opzione che consente di ottimizzare le prestazioni durante il recupero, l'importazione e la preparazione dei dati. Un'altra opzione disponibile è la diagnostica query.

Diagnostica query

Un altro strumento che è possibile usare per analizzare le prestazioni delle query è la diagnostica query. È possibile determinare quali colli di bottiglia possono esistere durante il caricamento e la trasformazione dei dati, l'aggiornamento dei dati in Power Query, l'esecuzione di istruzioni SQL in Editor di query e così via.

Per accedere alla diagnostica query nell'editor di Power Query, passare a Strumenti nella scheda Home della barra multifunzione. Quando si è pronti per iniziare a trasformare i dati o apportare altre modifiche in editor di Power Query, selezionare Avvia diagnostica nella sezione Diagnostica sessione. Al termine, assicurarsi di selezionare Arresta diagnostica.

Screenshot della scheda Strumenti con le opzioni di Diagnostica passaggio nell'editor di Power Query.

Selezionando Diagnostica passaggio viene visualizzato il tempo necessario per eseguire il passaggio, come illustrato nella figura seguente. Questa selezione mostra se un passaggio richiede più tempo rispetto ad altri, fornendo un punto di partenza per un'analisi più approfondita.

Screenshot dell'applicazione della funzione di diagnostica delle query.

Questo strumento è utile quando si desidera analizzare le prestazioni sul lato Power Query per le attività, ad esempio il caricamento di modelli semantici, l'esecuzione di aggiornamenti dei dati o l'esecuzione di altre attività trasformative.

Altre tecniche per ottimizzare le prestazioni

Ecco altri modi per ottimizzare le prestazioni in Power BI:

  • Elaborare la maggior quantità di dati possibile nell'origine dati originale. Power Query e l'editor di Power Query consentono di elaborare i dati. Tuttavia, la potenza di elaborazione necessaria per completare questa attività può ridurre le prestazioni in altre aree dei report. In genere, è consigliabile eseguire l'elaborazione, per quanto possibile, nell'origine dati nativa.

  • Usare query SQL native. Quando si usa DirectQuery per i database SQL, ad esempio il caso per lo scenario, assicurarsi di non eseguire il pull dei dati da stored procedure o espressioni di tabella comuni .

  • Separare data e ora, se associate. Se una delle tabelle include colonne che combinano data e ora, assicurarsi di separarle in colonne distinte prima dell'importazione in Power BI. Questo approccio consente di aumentare la capacità di compressione.

Per altre informazioni, vedere Linee guida per la riduzione della query e Riduzione della query.