Indicatori di riduzione della query
Nota
Prima di leggere questo articolo, è consigliabile leggere Panoramica della valutazione delle query e riduzione delle query in Power Query per comprendere meglio il funzionamento della riduzione in Power Query .
Gli indicatori di riduzione delle query consentono di comprendere i passaggi che si piegano o non si piegano.
Con gli indicatori di riduzione delle query, diventa ovvio quando si apporta una modifica che interrompe la riduzione. Questa funzionalità consente di risolvere più facilmente i problemi rapidamente, evitare problemi di prestazioni al primo posto e ottenere informazioni più dettagliate sulle query. Nella maggior parte dei casi si verificano passaggi piegati o non piegati. Tuttavia, esistono molti casi in cui il risultato non è così ovvio e questi casi sono descritti negli indicatori di diagnostica dei passaggi (Dinamici, Opachi e Sconosciuti).
Nota
La funzionalità indicatori di riduzione delle query è disponibile solo per Power Query Online.
Interpretazione della diagnostica di riduzione delle query
Quando si esamina l'indicatore di riduzione della query accanto a un passaggio, la cosa più importante da comprendere è che lo stato di diagnostica non è sequenziale. In altre parole, l'indicatore per tale passaggio descrive se la query nel suo complesso, fino a quel punto, si piega o meno. Se si dispone di un indicatore che indica che la query non viene piegata seguita da un indicatore che lo mostra, significa che la query fino a quel punto viene piegata.
Questa interpretazione funziona anche con una semplice query su un'origine SQL. Ad esempio, usando il database di esempio AdventureWorks, connettersi alla tabella Production.Product e caricare i dati. Il caricamento di questo esempio tramite lo strumento di navigazione di Power Query fornisce la query seguente:
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
Navigation
Se si esamina il modo in cui questo codice viene visualizzato negli indicatori di riduzione delle query, si noti che il primo passaggio è inconcludente. Tuttavia, il secondo passaggio si riduce, il che significa che la query fino a quel punto viene piegata.
In questo esempio i passaggi iniziali non possono essere confermati per la riduzione (è inconcludente), ma il passaggio finale generato quando si caricano i dati viene inizialmente ridotto. La modalità di gestione dei primi passaggi (origine e talvolta altri passaggi di spostamento) dipende dal connettore. Con SQL, ad esempio, viene gestito come valore di tabella del catalogo, che non si riduce. Tuttavia, non appena si selezionano i dati per tale connettore, viene piegato.
Al contrario, questa indicazione può anche indicare che la query si riduce fino a un punto e quindi arresta la riduzione. A differenza del caso in cui si dispone di un indicatore di riduzione per il passaggio che mostra che tutto si piega, quando si dispone di un indicatore non piegabile non significa che tutto non si piega. Significa invece che "non tutto" si piega. In genere, tutto fino all'ultimo indicatore di riduzione si piega, con più operazioni che si verificano dopo.
Modificando l'esempio precedente, è possibile assegnare una trasformazione che non si piega mai, ovvero maiuscola ogni parola.
let
Source = Sql.Database("ServerName", "AdventureWorks"),
Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
#"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
#"Capitalized each word"
Negli indicatori di riduzione della query sono presenti gli stessi indicatori di quelli precedenti, ad eccezione del passaggio finale che non si riduce. Tutti gli elementi fino a questo passaggio finale vengono eseguiti nell'origine dati, mentre il passaggio finale viene eseguito in locale.
Indicatori di diagnostica dei passaggi
Gli indicatori di riduzione delle query usano un piano di query sottostante e richiedono che sia in grado di ottenere informazioni sulla query per segnalarla. Attualmente, il piano di query supporta solo le tabelle, quindi alcuni casi (elenchi, record, primitive) non segnalano come riduzione o meno. Analogamente, le tabelle costanti segnalano come opache.
Indicatore | Icon | Descrizione |
---|---|---|
Pieghevole | L'indicatore di riduzione indica che la query fino a questo passaggio viene valutata dall'origine dati. | |
Non piegatura | L'indicatore di non riduzione indica che alcune parti della query fino a questo passaggio vengono valutate all'esterno dell'origine dati. È possibile confrontarlo con l'ultimo indicatore di riduzione, se presente, per verificare se è possibile riorganizzare la query in modo che sia più efficiente. | |
Potrebbe piegarsi | Gli indicatori di riduzione potrebbero non essere comuni. Significano che una query "potrebbe" piegarsi. Indicano che la riduzione o meno viene determinata in fase di esecuzione, quando si estraggono i risultati dalla query e che il piano di query è dinamico. Questi indicatori sono probabilmente visualizzati solo con connessioni ODBC o OData. | |
Opaco | Gli indicatori opachi indicano che il piano di query risultante è inconclusivo per qualche motivo. In genere indica che è presente una tabella "costante" vera o che la trasformazione o il connettore non è supportato dagli indicatori e dallo strumento del piano di query. | |
Unknown | Gli indicatori sconosciuti rappresentano un'assenza di un piano di query, a causa di un errore o di un tentativo di eseguire la valutazione del piano di query su un elemento diverso da una tabella , ad esempio un record, un elenco o una primitiva. |
Analisi di esempio
Per un'analisi di esempio, iniziare connettendosi alla tabella Production.Product in Adventure Works (SQL). Il caricamento iniziale, simile all'esempio iniziale, è simile all'immagine seguente.
Aggiungendo altri passaggi che si piegano estende la linea verde sul lato destro. Questa estensione si verifica perché questo passaggio si riduce anche.
L'aggiunta di un passaggio che non riduce visualizza un indicatore diverso. Ad esempio, in maiuscolo ogni parola non viene mai piegata. L'indicatore cambia, mostrando che a partire da questo passaggio, ha smesso di piegarsi. Come accennato in precedenza, i passaggi precedenti continuano a piegarsi.
L'aggiunta di altri passaggi downstream che dipendono dall'uso di maiuscole e minuscole per ogni passaggio continua a non piegarsi.
Tuttavia, se si rimuove la colonna a cui è stata applicata la combinazione di maiuscole e minuscole in modo che il piano di query ottimizzato possa essere piegato ancora una volta, si ottiene un risultato simile all'immagine seguente. Tuttavia, qualcosa di simile a questo è insolito. Questa immagine illustra come non è solo l'ordine dei passaggi, ma anche le trasformazioni effettive che si applicano.