Linee guida per la riduzione delle query in Power BI Desktop

Questo articolo è destinato ai modelli di dati che sviluppano modelli in Power BI Desktop. Fornisce indicazioni sulle procedure consigliate su quando e come è possibile ottenere la riduzione delle query di Power Query.

La riduzione delle query consente a una query di Power Query di generare una singola istruzione di query che recupera e trasforma i dati di origine. Per altre informazioni, vedere Riduzione delle query di Power Query.

Materiale sussidiario

Le linee guida per la riduzione delle query differiscono in base alla modalità del modello.

Per una tabella in modalità directQuery o dual storage, la query di Power Query deve ottenere la riduzione delle query.

Per una tabella Di importazione , può essere possibile ottenere la riduzione delle query. Quando la query si basa su un'origine relazionale e se è possibile costruire una singola istruzione edizione Standard LECT, è possibile ottenere prestazioni ottimali per l'aggiornamento dei dati assicurandosi che si verifichi la riduzione delle query. Se il motore mashup di Power Query è ancora necessario per elaborare le trasformazioni, è consigliabile cercare di ridurre al minimo il lavoro necessario, soprattutto per i modelli semantici di grandi dimensioni (noti in precedenza come set di dati).

L'elenco puntato seguente fornisce indicazioni specifiche.

  • Delegare la maggior parte dell'elaborazione all'origine dati possibile: quando non è possibile piegare tutti i passaggi di una query di Power Query, individuare il passaggio che impedisce la riduzione delle query. Quando possibile, spostare i passaggi successivi in sequenza in modo che possano essere inseriti nella riduzione della query. Si noti che il motore mashup di Power Query può essere abbastanza intelligente da riordinare i passaggi di query quando genera la query di origine.

    Per un'origine dati relazionale, se il passaggio che impedisce la riduzione delle query può essere ottenuto in una singola istruzione edizione Standard LECT, o all'interno della logica procedurale di una stored procedure, è consigliabile usare una query SQL nativa, come descritto di seguito.

  • Usare una query SQL nativa: quando una query di Power Query recupera i dati da un'origine relazionale, è possibile che alcune origini usino una query SQL nativa. La query può infatti essere qualsiasi istruzione valida, inclusa un'esecuzione di stored procedure. Se l'istruzione produce più set di risultati, verrà restituito solo il primo. I parametri possono essere dichiarati nell'istruzione ed è consigliabile usare la funzione Value.NativeQuery M. Questa funzione è stata progettata per passare in modo sicuro e pratico i valori dei parametri. È importante comprendere che il motore mashup di Power Query non può piegare i passaggi di query successivi e pertanto è necessario includere tutti, o tanto, logica di trasformazione nell'istruzione di query nativa.

    Quando si usano query SQL native, è necessario tenere presenti due considerazioni importanti:

    • Per una tabella del modello DirectQuery, la query deve essere un'istruzione edizione Standard LECT e non può usare espressioni di tabella comuni o una stored procedure.
    • L'aggiornamento incrementale non può usare una query SQL nativa. Forza quindi il motore mashup di Power Query a recuperare tutte le righe di origine e quindi applicare filtri per determinare le modifiche incrementali.

    Importante

    Una query SQL nativa può potenzialmente eseguire più operazioni di recupero dei dati. Qualsiasi istruzione valida può essere eseguita (ed eventualmente più volte), inclusa una che modifica o elimina i dati. È importante applicare il principio dei privilegi minimi per assicurarsi che l'account usato per accedere al database disponga solo dell'autorizzazione di lettura per i dati necessari.

  • Preparare e trasformare i dati nell'origine: quando si identifica che alcuni passaggi di query di Power Query non possono essere piegati, potrebbe essere possibile applicare le trasformazioni nell'origine dati. Le trasformazioni possono essere ottenute scrivendo una vista di database che trasforma logicamente i dati di origine. In alternativa, preparando e materializzando fisicamente i dati, prima di eseguire query su Power BI. Un data warehouse relazionale è un ottimo esempio di dati preparati, in genere costituito da origini preintegrate di dati aziendali.

Per altre informazioni su questo articolo, vedere le risorse seguenti: