Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Annotazioni
Prima di leggere questo articolo, leggi Panoramica della valutazione delle query e del query folding in Power Query per comprendere meglio come funziona il query folding in Power Query.
Gli indicatori di folding delle query consentono di capire quali passaggi supportano il folding e quali no. Un passaggio si riduce quando Power Query converte le trasformazioni in una query dell'origine dati e le esegue nell'origine dati.
Quando usi gli indicatori di folding delle query, è subito chiaro quando apporti una modifica che interrompe il folding. Questa funzionalità consente di risolvere i problemi, evitare problemi di prestazioni e ottenere informazioni più dettagliate sulle query. Nella maggior parte dei casi, i gradini si ripiegano oppure no. Ma esistono molti casi in cui il risultato non è ovvio. La sezione Indicatori di diagnostica del passaggio tratta i seguenti casi (Potrebbe piegarsi, Opaco e Sconosciuto).
Annotazioni
La funzionalità degli indicatori di folding delle query è disponibile solo in Power Query Online.
Interpretare la diagnostica della riduzione delle query
In Power Query Online, l'indicatore di riduzione della query accanto a un passaggio indica se la query nel suo complesso, fino a quel punto, si piega. Lo stato di diagnostica non è sequenziale. Se un indicatore mostra che la query non supporta il folding, seguito da un indicatore che mostra che lo supporta, la query fino a quel punto supporta il folding.
Questa interpretazione funziona anche con una semplice query su un'origine SQL. Ad esempio, connettersi alla tabella Production.Product nel database di esempio AdventureWorks e quindi 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 esamini il modo in cui questo codice viene visualizzato negli indicatori di piegatura delle query, potete notare che il primo passaggio è inconcludente. Tuttavia, il secondo passaggio si piega, il che significa che la richiesta fino a quel punto viene piegata.
In questo esempio, non è possibile confermare che i passaggi iniziali supportino il query folding (non sono conclusivi), ma il passaggio finale generato al caricamento iniziale dei dati supporta il query folding. La modalità di gestione dei primi passaggi (origine e talvolta altri passaggi di spostamento) dipende dal connettore. Con SQL, ad esempio, il passaggio viene gestito come valore di tabella del catalogo, che non viene piegato. Tuttavia, non appena si selezionano i dati per tale connettore, viene piegato.
Al contrario, questa indicazione può anche significare che la query si ripiega fino a un certo punto e quindi smette di ripiegarsi. Un indicatore non piegabile non significa che nulla si piega. Significa invece che non tutto si piega. In genere, tutto fino all'ultimo indicatore di piegatura si piega, seguito da ulteriori operazioni.
Modificando l'esempio precedente, è possibile assegnare una trasformazione che non si piega mai—Trasforma in 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 delle fasi
Gli indicatori di query folding si basano su un piano di esecuzione della query sottostante e richiedono che questo fornisca informazioni sulla query. 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 vengono riportate come opache.
| Indicatore | Icona | Descrizione |
|---|---|---|
| Ripiegamento |
|
L'indicatore di folding indica che la fonte di dati valuta la query fino a questo punto. |
| Non piegatura |
|
L'indicatore di mancata piegatura segnala che una parte della query fino a questo punto viene valutata 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 piegatura potrebbero non essere comuni. Significano che una query "potrebbe" collassare. 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" effettiva o che gli indicatori e lo strumento piano di query non supportano tale trasformazione o connettore. |
| Sconosciuto |
|
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. |
Analizzare gli indicatori di riduzione delle query
Per analizzare gli indicatori di query folding, connettiti alla tabella Production.Product in AdventureWorks (SQL). Il caricamento iniziale mostra il passaggio Source come inconclusive e il passaggio di spostamento come piegatura, come illustrato nell'immagine seguente.
Quando si aggiungono altri passaggi che si piegano, si estende la linea verde a destra. Questa estensione avviene poiché anche questo passaggio si piega.
Quando si aggiunge un passaggio che non si piega, viene visualizzato un indicatore diverso. Ad esempio, Capitalizza ogni parola non si piega mai. L'indicatore cambia, mostrando che a partire da questo passaggio, ha smesso di piegarsi. Come accennato in precedenza, i passaggi precedenti continuano a piegarsi.
Se si aggiungono altri passaggi successivi che dipendono da Capitalize each word, continuano a non essere ripiegati.
Tuttavia, se si rimuove la colonna a cui è stata applicata la combinazione di maiuscole e minuscole, il piano di query ottimizzato può essere nuovamente piegato. In questo risultato non comune, il passaggio finale si piega anche se un passaggio precedente non si piega, come illustrato nell'immagine seguente. Questo risultato illustra come la compattazione dipenda sia dall'ordine dei passaggi sia dalle trasformazioni applicate.