分享方式:


什麼是 Power Query?

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

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

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

Power Query 如何協助取得數據

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

現有的挑戰 Power Query 如何協助?
尋找和連線到數據太困難 Power Query 可讓您連線到各種數據源,包括各種大小和圖形的數據。
數據聯機的體驗太分散 體驗的一致性,以及所有數據源的查詢功能同位。
在取用之前,數據通常需要重新調整 高度互動式和直覺的體驗,可快速且反覆地針對任何大小的任何數據源建置查詢。
任何成形都是一次性且不可重複的 使用 Power Query 來存取和轉換資料時,您可以定義可重複的程式(查詢),以在未來輕鬆重新整理以取得最新數據。
如果您需要修改程式或查詢來考慮基礎數據或架構變更,您可以使用一開始定義查詢時所使用的相同互動式和直覺式體驗。
磁碟區(資料大小)、速度(變化率)和多樣性(數據源和數據圖形的廣度) 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 體驗的產品無從驗證服務版本。 您可以使用數據流,以相同方式取得數據並轉換數據,但您可以將輸出傳送至 Power BI 或 Excel,您可以將輸出儲存在其他記憶體選項中,例如 Dataverse 或 Azure Data Lake 儲存體。 如此一來,您就可以在其他產品和服務中使用數據流的輸出。

詳細信息: 什麼是數據流?

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 產品和服務。

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

另請參閱

Power Query 中的數據源
取得數據
Power Query 快速入門
使用 Power Query 塑造和合併數據
什麼是數據流