Che cos'è Power Query?

Power Query è un motore di trasformazione dei dati e preparazione dei dati. Include un'interfaccia grafica per ottenere dati da origini e un editor di Power Query per l'applicazione delle trasformazioni. Power Query trasforma i dati ma non fornisce una singola destinazione di archiviazione. Il prodotto o il servizio che ospita Power Query determina dove vengono caricati i risultati. Usando Power Query, è possibile eseguire l'elaborazione dei dati di estrazione, trasformazione e caricamento (ETL).

Input, trasformazione e destinazione di Power Query.

Diagramma con origini dati simboleggiate a sinistra, passando attraverso Power Query per la trasformazione al centro e quindi andando a quattro destinazioni a destra: Microsoft Azure Data Lake Storage, Microsoft Dataverse, Microsoft Excel e Microsoft Power BI.

Come Power Query aiuta con l'acquisizione dei dati

Power Query consente di connettersi ai dati, modificare la forma e salvare i passaggi di trasformazione come query ripetibile che è possibile aggiornare. Nella tabella seguente vengono mappate le problematiche comuni di preparazione dei dati a queste funzionalità.

Sfida esistente In che modo Power Query aiuta?
La ricerca e la connessione ai dati sono troppo difficili Power Query consente la connettività a un'ampia gamma di origini dati, inclusi i dati di tutte le dimensioni e forme.
Le esperienze per la connettività dei dati sono troppo frammentate Power Query offre un'esperienza coerente e la parità delle funzionalità di query tra origini dati.
I dati devono essere spesso rimodellati prima dell'utilizzo Power Query offre un'esperienza interattiva e intuitiva per la creazione rapida e iterativa di query su origini dati di qualsiasi dimensione.
Qualsiasi forma è unica e non ripetibile Quando si usa Power Query per accedere ai dati e trasformarli, si definisce un processo ripetibile (query) che è possibile aggiornare facilmente in futuro per ottenere dati up-to-date.
Se è necessario modificare il processo o la query per tenere conto delle modifiche dei dati o dello schema sottostanti, è possibile usare la stessa esperienza interattiva e intuitiva usata quando è stata inizialmente definita la query.
Volume (dimensioni dei dati), velocità (frequenza di modifica) e varietà (ampiezza di origini dati e forme dati) Power Query consente di lavorare su un subset dell'intero set di dati per definire le trasformazioni dei dati necessarie, in modo da poter filtrare e trasformare facilmente i dati in dimensioni gestibili.
È possibile aggiornare manualmente le query Power Query usando funzionalità di aggiornamento pianificate in prodotti specifici, ad esempio Power BI, o a livello di codice usando il modello a oggetti Excel.
Poiché Power Query offre connettività a centinaia di origini dati e oltre 350 tipi di trasformazioni di dati per ogni origine, è possibile usare i dati di qualsiasi origine e in qualsiasi forma.

Esperienze online e desktop di Power Query

È possibile usare Power Query senza scrivere codice. L'editor Power Query consente di applicare trasformazioni interagendo con barre multifunzione, menu, pulsanti e altri componenti dell'interfaccia. Quando si crea un passaggio di trasformazione nell'editor, Power Query crea automaticamente il codice M necessario per la trasformazione.

L'editor Power Query è l'esperienza di preparazione dei dati principale. Nell'editor è possibile connettersi a un'ampia gamma di origini dati e applicare centinaia di trasformazioni di dati visualizzando in anteprima i dati e selezionando trasformazioni dall'interfaccia utente. Queste funzionalità di trasformazione dei dati sono comuni in tutte le origini dati, indipendentemente dalle limitazioni dell'origine dati sottostante.

Attualmente sono disponibili due esperienze Power Query:

  • Power Query Online: disponibile nelle integrazioni, ad esempio flussi di dati Power BI e flussi di dati Microsoft Power Platform che offrono l'esperienza tramite una pagina Web.
  • Power Query Desktop: disponibile nei prodotti desktop, ad esempio Excel e Power BI Desktop.

Nota

Power Query Online viene eseguito in un Web browser come parte dei prodotti cloud, mentre Power Query Desktop viene eseguito all'interno di applicazioni desktop. Condividono l'esperienza di trasformazione e l'editor principale, ma i connettori, i metodi di autenticazione, le destinazioni e le funzionalità specifiche del prodotto possono variare in base all'host.

Trasformare i dati con Power Query

Il motore di trasformazione in Power Query include molte funzioni di trasformazione predefinite che è possibile usare tramite l'interfaccia grafica dell'editor Power Query. Power Query registra le trasformazioni come passaggi della query e le applica quando la query viene eseguita; non modifica i dati di origine. Le trasformazioni possono essere semplici come la rimozione di una colonna o il filtro delle righe o l'uso comune della prima riga come intestazione di tabella. Le opzioni di trasformazione avanzate includono unione, aggiunta, raggruppa per, pivot e unpivot.

È possibile applicare tutte queste trasformazioni scegliendo l'opzione di trasformazione nel menu e quindi applicando le opzioni necessarie per tale trasformazione. La figura seguente mostra alcune delle trasformazioni disponibili nell'editor Power Query.

Screenshot dei comandi di trasformazione nelle schede Trasforma, Home e Aggiungi colonna dell'editor Power Query.

Altre informazioni: L'interfaccia utente di Power Query

Usare Power Query con flussi di dati

I flussi di dati offrono un'esperienza di Power Query basata sul cloud per la preparazione dei dati riutilizzabile. Nei prodotti che supportano i flussi di dati è possibile connettersi ai dati, applicare Power Query trasformazioni e archiviare l'output preparato per l'uso da parte di altri processi, prodotti o servizi. Le destinazioni disponibili e le funzionalità di aggiornamento dipendono dal prodotto che ospita il flusso di dati. Ad esempio, un flusso di dati può archiviare l'output in Microsoft Dataverse o Azure Data Lake Storage anziché caricarlo direttamente in Excel o Power BI.

Altre informazioni: Che cosa sono i flussi di dati?

Linguaggio M delle formule di Power Query

Alcune trasformazioni dei dati richiedono configurazioni e impostazioni speciali non supportate dall'interfaccia grafica. Il motore di Power Query usa un linguaggio di scripting dietro le quinte per tutte le trasformazioni Power Query: il linguaggio di formula Power Query M, noto anche come M.

Il linguaggio M è il linguaggio di trasformazione dei dati di Power Query. Tutto ciò che accade nella query viene scritto in ultima analisi in M. Per eseguire trasformazioni avanzate usando il motore di Power Query, usare il Editor avanzato per accedere allo script della query e modificarlo in base alle esigenze. Se si scopre che le funzioni e le trasformazioni dell'interfaccia utente non possono eseguire le modifiche esatte necessarie, usare il Editor avanzato e il linguaggio M per ottimizzare le funzioni e le trasformazioni.

La query M seguente recupera gli allegati di posta elettronica da Microsoft Exchange, filtra i messaggi in base allo stato degli allegati, all'oggetto e alla cartella, richiama una funzione di trasformazione personalizzata per ogni allegato e assegna i tipi di dati alle colonne di output. L'esempio mostra come una sequenza di trasformazioni Power Query viene rappresentata in M e modificata nella Editor avanzato.

let
    Source = Exchange.Contents("xyz@contoso.com"),
    Mail1 = Source{[Name="Mail"]}[Data],
    #"Expanded Sender" = Table.ExpandRecordColumn(Mail1, "Sender", {"Name"}, {"Name"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Sender", each ([HasAttachments] = true)),
    #"Filtered Rows1" = Table.SelectRows(#"Filtered Rows", each ([Subject] = "sample files for email PQ test") and ([Folder Path] = "\Inbox\")),
    #"Removed Other Columns" = Table.SelectColumns(#"Filtered Rows1",{"Attachments"}),
    #"Expanded Attachments" = Table.ExpandTableColumn(#"Removed Other Columns", "Attachments", {"Name", "AttachmentContent"}, {"Name", "AttachmentContent"}),
    #"Filtered Hidden Files1" = Table.SelectRows(#"Expanded Attachments", each [Attributes]?[Hidden]? <> true),
    #"Invoke Custom Function1" = Table.AddColumn(#"Filtered Hidden Files1", "Transform File from Mail", each #"Transform File from Mail"([AttachmentContent])),
    #"Removed Other Columns1" = Table.SelectColumns(#"Invoke Custom Function1", {"Transform File from Mail"}),
    #"Expanded Table Column1" = Table.ExpandTableColumn(#"Removed Other Columns1", "Transform File from Mail", Table.ColumnNames(#"Transform File from Mail"(#"Sample File"))),
    #"Changed Type" = Table.TransformColumnTypes(#"Expanded Table Column1",{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}, {"Column4", type text}, {"Column5", type text}, {"Column6", type text}, {"Column7", type text}, {"Column8", type text}, {"Column9", type text}, {"Column10", type text}})
in
    #"Changed Type"

Altre informazioni: Power Query M formula language

Dove è possibile usare Power Query?

La tabella seguente elenca Microsoft prodotti e servizi in cui è possibile trovare Power Query.

Prodotto Motore M 1 Power Query
Desktop 2
Power Query
Online 3
Flussi di dati 4
Excel per Windows No No
Excel per Mac No No
Power BI
Power Apps No
Power Automate No No
Server di report di Power BI No No
Azure Data Factory No
Data Factory di Microsoft Fabric No
SQL Server Integration Services No No No
SQL Server Analysis Services No No
Dynamics 365 Customer Insights No
Motore M1 Motore di esecuzione di query sottostante che esegue query espresse nel linguaggio della formula Power Query ("M").
2Power Query Desktop L'esperienza Power Query disponibile nelle applicazioni desktop.
3Power Query Online L'esperienza Power Query disponibile nelle applicazioni Web browser.
4 flussi di dati Power Query come servizio eseguito nel cloud ed è indipendente dal prodotto. Altre applicazioni e servizi possono usare il risultato archiviato.