共用方式為


什麼是 Power Query?

Power Query 是數據轉換和數據準備引擎。 Power Query 隨附用於從來源取得數據的圖形化介面,以及用於套用轉換的 Power Query 編輯器。 因為引擎可在許多產品和服務中使用,因此儲存數據的目的地取決於使用Power Query的位置。 使用 Power Query,您可以執行資料的擷取、轉換和載入 (ETL) 處理。

Power Query 輸入、轉換和目的地。

左側具有符號化數據源的圖表,在中央傳遞 Power Query 以進行轉換,然後移至右側的四個目的地:Microsoft Azure Data Lake Storage、Microsoft Dataverse、Microsoft Excel 和Microsoft Power BI。

Power Query 如何協助取得數據

商務用戶花費最多 80% 的時間進行數據準備,這會延遲分析和決策的工作。 有數項挑戰會造成這種情況,而Power Query可協助解決其中許多挑戰。

現有的挑戰 Power Query 如何協助?
尋找和連線到數據太困難 Power Query 可讓您連線到各種數據源,包括各種大小和圖形的數據。
數據聯機的體驗太分散 體驗的一致性,以及所有數據源的查詢功能同位。
在取用之前,數據通常需要重新調整 高度互動式和直覺的體驗,可快速且反覆地針對任何大小的任何數據源建置查詢。
任何成形都是一次性且不可重複的 使用 Power Query 來存取和轉換資料時,您可以定義一個可重複的程式(查詢),以在未來輕鬆重新整理,以取得 up-to日期數據。
如果您需要修改程式或查詢來考慮基礎數據或架構變更,您可以使用一開始定義查詢時所使用的相同互動式和直覺式體驗。
磁碟區(資料大小)、速度(變化率)和多樣性(數據源和數據圖形的廣度) Power Query 可讓您針對整個數據集的子集運作,以定義必要的數據轉換,讓您輕鬆地篩選數據,並將數據轉換成可管理的大小。
Power Query 查詢可以手動重新整理,或利用特定產品中排程的重新整理功能(例如 Power BI),甚至是以程式設計方式重新整理(使用 Excel 物件模型)。
因為 Power Query 會針對每個來源提供數百個數據源和超過 350 種不同類型的數據轉換連線,因此您可以使用來自任何來源和任何圖形的數據。

Power Query 體驗

Power Query 用戶體驗是透過Power Query 編輯器使用者介面提供。 此介面的目標是透過與一組使用者友好的功能區、選單、按鈕與其他互動元件簡單互動,協助您套用所需的轉換。

Power Query 編輯器是主要數據準備體驗。 在編輯器中,您可以連線到各種不同的數據源,並藉由預覽數據並從 UI 選取轉換來套用數百個不同的資料轉換。 無論基礎數據源的限制為何,這些數據轉換功能在所有數據源中都是通用的。

當您藉由與 Power Query 介面的元件互動來建立新的轉換步驟時,Power Query 會自動建立執行轉換所需的 M 程式代碼,因此您不需要撰寫任何程式代碼。

目前有兩種 Power Query 體驗可供使用:

  • Power Query Online— 可在 Power BI 數據流、Microsoft Power Platform 數據流、Azure Data Factory 整頓數據流等整合中找到,以及更多可以透過線上網頁提供體驗的整合。
  • Power Query for Desktop— 可在 Power Query for Excel 和 Power BI Desktop 等整合中找到。

注意

雖然有兩個 Power Query 體驗存在,但它們在每一個案例中都提供幾乎相同的用戶體驗。

轉換

Power Query 中的轉換引擎包含許多預先建置的轉換函式,可透過 Power Query 編輯器的圖形化介面使用。 這些轉換可以像移除數據行或篩選數據列一樣簡單,也可以像使用第一個數據列做為數據表標頭一樣通用。 還有進階轉換選項,例如合併、附加、分組、樞紐和取消樞紐。

在功能表中選擇轉換選項,然後套用該轉換所需的選項,即可進行所有這些轉換。 下圖顯示Power Query 編輯器中可用的一些轉換。

Power Query 編輯器之 [轉換]、[首頁] 和 [新增數據行] 索引標籤下轉換命令的螢幕快照。

詳細資訊:快速入門:在 Power BI 中使用 Power Query

數據流

Power Query 可用於許多產品,例如 Power BI 和 Excel。 不過,在產品內使用Power Query 會將其使用量限製為僅限該特定產品。 數據流 是雲端中執行的「Power Query」體驗,且為產品無關的服務版本。 您可以使用數據流,以相同方式取得資料並轉換數據。 但是,您可以將輸出儲存在其他記憶體選項中,例如 Dataverse 或 Azure Data Lake Storage,而不是將輸出傳送至 Power BI 或 Excel。 如此一來,您就可以在其他產品和服務中使用數據流的輸出。

詳細資訊:什麼是數據流?

Power Query M 公式語言

在任何數據轉換案例中,有一些轉換無法使用圖形化編輯器以最佳方式完成。 其中一些轉換可能需要圖形化介面目前不支援的特殊組態和設定。 Power Query 引擎在將所有 Power Query 轉換時會使用幕後的腳本語言:Power Query M 公式語言,也稱為 M。

M 語言是 Power Query 的數據轉換語言。 查詢中發生的任何項目最終都會以 M 撰寫。如果您想要使用 Power Query 引擎執行進階轉換,您可以使用進階編輯器來存取查詢的腳本,並視需要加以修改。 如果您發現使用者介面函式和轉換無法執行所需的確切變更,請使用進階編輯器和 M 語言來微調您的函式和轉換。

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"

詳細資訊:Power Query M 公式語言

您可以在何處使用 Power Query?

下表列出包含 Power Query 的 Microsoft 產品和服務。

產品 M 引擎1 Power Query
桌面2
Power Query
在線3
數據流4
適用於 Windows 的 Excel 是的 是的
Mac 版 Excel 是的 是的
Power BI 是的 是的 是的 是的
Power Apps 是的 是的 是的
Power Automate 是的 是的
Power BI 報表伺服器 是的 是的
Azure Data Factory 是的 是的 是的
Microsoft Fabric 中的 Data Factory 是的 是的 是的
SQL Server Integration Services 是的
SQL Server Analysis Services 是的 是的
Dynamics 365 Customer Insights 是的 是的 是的
1M 引擎 執行以 Power Query 公式語言(“M”)編寫的查詢的基礎查詢執行引擎。
2Power Query Desktop 在桌面應用程式中找到的 Power Query 體驗。
3Power Query Online 在網頁瀏覽器應用程式中找到的Power Query體驗。
4數據流 Power Query 作為一種在雲端執行並與產品無關的服務。 預存的結果可用於其他應用程式做為服務。