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.
Power Query valuta una query M per determinare i dati e le trasformazioni necessari per il risultato. Durante la valutazione, il query folding tenta di tradurre le trasformazioni supportate in operazioni che un'origine dati può eseguire. Le trasformazioni che non possono essere piegate vengono eseguite nel motore di Power Query.
Che cos'è uno script Power Query M?
Uno script M, detto anche codice M, è l'insieme di funzioni e sintassi del linguaggio di formule M di Power Query che Power Query valuta per produrre un risultato della query. Ogni query ha uno script M, indipendentemente dal fatto che Power Query lo crei, lo si scrive nell'editor avanzato o lo si immette in una query vuota.
Suggerimento
È possibile considerare lo script M come una ricetta che descrive come preparare i dati.
Il modo più comune per creare uno script M consiste nell'usare l'editor di Power Query. Ad esempio, quando ci si connette a un'origine dati, ad esempio un database SQL Server, si noti che sul lato destro della schermata è presente una sezione denominata passaggi applicati. Questa sezione illustra tutti i passaggi o le trasformazioni usate nella query. In questo senso, l'editor di Power Query funge da interfaccia per creare lo script M appropriato per le trasformazioni desiderate e garantisce che il codice usato sia valido.
Annotazioni
Lo script M viene usato nell'editor Power Query per:
- Mostra la query come una serie di passaggi e consente di creare o modificare i passaggi.
- Mostra una vista diagramma.
In questo esempio di SQL Server il riquadro Passaggi applicati contiene i passaggi seguenti:
- Origine: stabilisce la connessione all'origine dati. In questo caso, si tratta di una connessione a un database SQL Server.
- Navigazione: consente di passare a una tabella specifica nel database.
- Rimosse altre colonne: consente di selezionare le colonne della tabella da mantenere.
- Righe ordinate: ordina la tabella usando una o più colonne.
- Righe principali mantenute: filtra la tabella in modo da mantenere solo alcune righe dalla parte superiore della tabella.
Visualizzare e modificare uno script M in Power Query
Questo set di nomi di passaggi è un modo semplice per visualizzare lo script M che Power Query ha creato per te. È possibile visualizzare lo script M completo in diversi modi. In Power Query, selezionare Editor avanzato nella scheda Visualizza. È anche possibile selezionare Editor avanzato dal gruppo Query nella scheda Home. In alcune versioni di Power Query, è anche possibile cambiare la visualizzazione della barra della formula per mostrare lo script di query passando alla scheda Visualizza e quindi, nel gruppo Layout, selezionare Visualizzazione script>Script di query.
La maggior parte dei nomi che trovi nel riquadro Passaggi applicati sono usati anche così come sono nello script M. Assegnare un nome ai passaggi di una query usando gli identificatori nel linguaggio M. In alcuni casi, i caratteri aggiuntivi vengono visualizzati intorno ai nomi dei passaggi in M, ma questi caratteri non vengono visualizzati nei passaggi applicati. Un esempio è #"Kept top rows", che viene categorizzato come identificatore tra virgolette a causa di questi caratteri aggiuntivi. Un identificatore tra virgolette consente l'uso di qualsiasi sequenza di zero o più caratteri Unicode come identificatore, incluse parole chiave, spazi vuoti, commenti, operatori e segni di punteggiatura. Per altre informazioni sugli identificatori nel linguaggio M, vedere Struttura lessicale.
Tutte le modifiche apportate alla query tramite l'editor di Power Query aggiornano automaticamente lo script M per la query. Ad esempio, se si modifica il nome del passaggio Prime righe mantenute in Prime 20 righe mantenute, il nome cambia anch'esso nella visualizzazione script della query.
Sebbene sia consigliabile usare l'editor di Power Query per creare automaticamente tutti o la maggior parte dello script M, è possibile aggiungere o modificare manualmente parti dello script M. Per altre informazioni, vedere le informazioni di riferimento sul linguaggio M.
In questo articolo, script M si riferisce al codice Power Query M in una query, a cui è possibile accedere tramite l'editor avanzato o la visualizzazione script della query nella barra della formula.
Come Power Query valuta una query M
Power Query valuta uno script M determinando l'output richiesto e come produrlo. Per le query che usano un'origine dati esterna, la valutazione include la richiesta di dati dall'origine, l'elaborazione di eventuali trasformazioni eseguite nel motore di Power Query e il caricamento del risultato in una destinazione.
Il diagramma seguente illustra il processo che si verifica quando una query viene valutata in Power Query.
- Lo script M, disponibile nell'editor avanzato, viene inviato al motore di Power Query. Sono incluse anche altre informazioni importanti, ad esempio credenziali e livelli di privacy dell'origine dati.
- Power Query determina quali dati devono essere estratti dall'origine dati e invia una richiesta all'origine dati.
- L'origine dati risponde alla richiesta da Power Query trasferendo i dati richiesti a Power Query.
- Power Query riceve i dati in ingresso dall'origine dati ed esegue qualsiasi trasformazione utilizzando il motore di Power Query, se necessario.
- Power Query carica il risultato trasformato in una destinazione.
Annotazioni
Questo flusso mostra una query che legge i dati da un database SQL Server. Per una query senza un'origine dati esterna, Power Query comunque valuta lo script M e produce un risultato, ma le fasi di richiesta e trasferimento dell'origine dati non si applicano.
Come il query folding ottimizza la valutazione delle query
Quando Power Query legge lo script M, esegue lo script tramite un processo di ottimizzazione per valutare in modo più efficiente la query. In questo processo si determina quali passaggi (trasformazioni) della tua query possono essere delegati all'origine dati. Determina anche quali altri passaggi devono essere valutati usando il motore di Power Query.
Questo processo di ottimizzazione è denominato query folding. Il query folding traduce le trasformazioni M supportate in operazioni che l'origine dati può eseguire. Power Query tenta di eseguire la maggior parte possibile della query nell'origine dati e valuta le eventuali trasformazioni rimanenti nel motore di Power Query.
Importante
Vengono seguite tutte le regole del linguaggio Power Query formula M (noto anche come linguaggio M) . In maniera più evidente, la valutazione differita svolge un ruolo importante durante il processo di ottimizzazione. In questo processo, Power Query comprende quali trasformazioni specifiche della query devono essere valutate. Power Query comprende anche quali altre trasformazioni non devono essere valutate perché non sono necessarie nell'output della query.
Inoltre, quando sono coinvolte più origini, il livello di privacy dei dati di ogni origine dati viene preso in considerazione durante la valutazione della query. Altre informazioni: Dietro le quinte del Firewall per la privacy dei dati
Il diagramma seguente illustra i passaggi da eseguire in questo processo di ottimizzazione.
- Lo script M, disponibile nell'editor avanzato, viene inviato al motore di Power Query. Vengono fornite anche altre informazioni importanti, ad esempio le credenziali e i livelli di privacy dell'origine dati.
- Il meccanismo di riduzione delle query invia richieste di metadati per determinare le funzionalità dell'origine dati, degli schemi di tabella, delle relazioni tra tabelle nell'origine dati e altri metadati.
- In base ai metadati ricevuti, il meccanismo di riduzione delle query determina quali informazioni estrarre dall'origine dati e quali trasformazioni devono essere eseguite all'interno del motore di Power Query. Invia istruzioni a due altri componenti che recuperano dati dall'origine dati e trasformano i dati in ingresso nel motore di Power Query, se necessario.
- Dopo che i componenti interni di Power Query ricevono le istruzioni, Power Query invia una richiesta all'origine dati usando una query dell'origine dati.
- L'origine dati riceve la richiesta da Power Query e trasferisce i dati al motore di Power Query.
- Dopo che i dati sono entrati in Power Query, il motore di trasformazione di Power Query (noto anche come motore mashup) esegue le trasformazioni che non possono essere delegate o scaricate sull'origine dati.
- Power Query carica il risultato trasformato in una destinazione.
Annotazioni
A seconda delle trasformazioni e dell'origine dati usata nello script M, Power Query determina se trasmettere o memorizzare nel buffer i dati in ingresso.
Operazioni di riduzione delle query in Power Query
L'obiettivo dell'integrazione delle query mira a trasferire il più possibile la valutazione di una query a un'origine dati in grado di calcolare le operazioni della query.
Il meccanismo di riduzione delle query raggiunge questo obiettivo traducendo il tuo script M in un linguaggio che l'origine dati può interpretare ed eseguire. Trasferisce quindi la valutazione all'origine dati e invia il risultato di tale valutazione a Power Query.
Questa operazione offre spesso un'esecuzione di query più veloce rispetto all'estrazione di tutti i dati necessari dall'origine dati e all'esecuzione di tutte le trasformazioni necessarie nel motore di Power Query.
Quando si utilizza l'esperienza di acquisizione dati get, Power Query guida nel processo per connettersi all'origine dati. In questo caso, Power Query usa una serie di funzioni nel linguaggio M classificate come accessing data functions. Queste funzioni specifiche usano meccanismi e protocolli per connettersi all'origine dati usando un linguaggio comprensibile per l'origine dati.
Per le trasformazioni successive alla funzione di origine dati, il meccanismo di query folding verifica se può delegarle all'origine dati anziché elaborarle nel motore di Power Query.
Importante
Le funzioni dell'origine dati, comunemente visualizzate come passaggio Origine in una query, interrogano i dati nell'origine dati nel linguaggio nativo dell'origine dati. Per le trasformazioni successive alla funzione di origine dati, Power Query tenta il query folding solo quando il connettore e le trasformazioni lo supportano. Il meccanismo può convertire e combinare trasformazioni supportate in una singola query di origine dati.
Risultati della piegatura delle query in Power Query
A seconda della struttura della query, potrebbero esserci tre possibili risultati per il meccanismo di riduzione delle query:
| Risultato della riduzione delle query | Elaborazione all'origine dei dati | Elaborazione nel motore di Power Query |
|---|---|---|
| Riduzione completa delle query | L'origine dati elabora tutte le trasformazioni delle query. | L'elaborazione minima avviene nel motore di Power Query. |
| Riduzione parziale delle query | L’origine dati elabora le trasformazioni che Power Query può tradurre nel linguaggio di query nativo. | Il motore di Power Query elabora le trasformazioni rimanenti. |
| Nessuna riduzione delle query | L'origine dati restituisce i dati di origine richiesti senza elaborare trasformazioni di query. | Il motore di Power Query elabora tutte le trasformazioni necessarie. |
Origini dati che supportano il query folding
Il supporto per il query folding dipende dal connettore, dall'origine dati e dalle trasformazioni nella query. I connettori per origini dati strutturate con funzionalità di elaborazione delle query, come SQL Server e Feed OData, supportano comunemente il query folding. Le origini dati senza un motore di query, come i file CSV ed Excel, non supportano il query folding.
Durante l'ottimizzazione, il motore di Power Query potrebbe riordinare i passaggi di query. L'uso di un'origine dati con più risorse di elaborazione e funzionalità di riduzione delle query può ridurre i tempi di caricamento delle query perché l'elaborazione avviene nell'origine dati anziché nel motore di Power Query.
Verificare la riduzione delle query in Power Query Online
In Power Query Online, usa gli indicatori di query folding accanto ai passaggi applicati per identificare quali passaggi supportano il query folding. È anche possibile usare il piano di query per vedere quali operazioni vengono eseguite nell'origine dati e quali operazioni vengono eseguite nel motore di Power Query. Queste funzionalità sono disponibili solo in Power Query Online.
Se disponibile, usare View Native Query o View data source query per esaminare la richiesta che Power Query invia all'origine dati. La disponibilità dipende dal connettore.