合併檔案概觀
透過Power Query,您可以將多個具有相同架構的檔案合併成單一邏輯資料表。
當您想要合併相同資料夾中的所有檔案時,這項功能很有用。 例如,如果您有包含每月檔案的資料夾,其中包含您公司的所有採購單,您可以將這些檔案合併成單一檢視。
檔案可以來自各種來源,例如 (但不限於):
- 本機資料夾
- SharePoint 網站
- Azure Blob 儲存體
- Azure Data Lake Storage (Gen1 和 Gen2)
當您使用這些來源時,請注意,它們共用相同的數據表架構,通常稱為 檔系統檢視。 下列螢幕快照顯示檔系統檢視的範例。
在文件系統檢視中 ,[內容 ] 資料行包含每個檔案的二進位表示法。
注意
您可以使用任何可用的欄位來篩選檔案系統檢視中的檔案清單。 最好篩選此檢視,只顯示您需要合併的檔案,例如篩選延伸模組或資料夾路徑等欄位。 詳細資訊: 資料夾
選取 [內容] 數據行中的任何 [二進位] 值,會自動建立該特定檔案的一系列導覽步驟。 Power Query 會嘗試使用其中一個可用的連接器來解譯二進位檔,例如 Text/CSV、Excel、JSON 或 XML。
合併檔案會在下列階段進行:
數據表預覽
當您使用任何先前提及的連接器連接到數據源時,數據表預覽隨即開啟。 如果您確定要合併資料夾中的所有檔案,請選取 畫面右下角的[合併 ]。
或者,您可以選取 [轉換數據 ] 來存取 Power Query 編輯器,並建立檔案清單的子集(例如,使用資料夾路徑數據行上的篩選,只包含來自特定子資料夾的檔案)。 然後選取包含 Content 資料行中二進位檔的數據行,然後選取下列其中一項來合併檔案:
[合併檔案] 對話框
選取 [合併或合併檔案] 命令之後,[合併檔案] 對話框隨即開啟,併發生下列動作:
- Power Query 會分析範例檔案(根據預設,清單中的第一個檔案),並決定用來開啟該檔案的正確檔案連接器。
- 對話框提供檔案連接器體驗,就像您直接連線到該範例檔案一樣。
- 如果您想要針對範例檔案使用不同的檔案,您可以從 [範例檔案] 下拉功能表中選擇它。
- 選擇性:您可以選取 [ 略過有錯誤的 檔案],以排除最終輸出中任何導致錯誤的檔案。
在下圖中,Power Query 會偵測到第一個檔案具有.csv擴展名,因此它會使用 Text/CSV 連接器來解譯檔案。
合併的檔案輸出
完成合併檔案程序之後,Power Query 會自動執行下列動作:
建立範例查詢,以針對單一檔案執行所有必要的擷取步驟。 它會使用選取為 [合併檔案] 對話框中範例檔案的檔案。
此範例查詢的名稱為 [查詢] 窗格中的 [轉換範例檔案]。
建立函式查詢,將檔案/二進位輸入參數化為範例查詢。 範例查詢和函式查詢已連結,因此範例查詢的變更會反映在函式查詢中。
這些查詢會列在 Helper 查詢群組中。
使用輸入二進位檔將函式查詢套用至原始查詢(例如資料夾查詢)。 因此,它會針對每個數據列上的二進位輸入套用函式查詢,然後將產生的數據擷取展開為最上層數據行。
建立具有 轉換檔案 前置詞的新群組,並將初始查詢作為後綴,並組織用來在該群組中建立這些合併檔案的所有元件。
只要檔案具有相同的檔類型和結構(包括相同的數據行),您就可以輕鬆地合併指定資料夾中的所有檔案。 您也可以修改自動產生的範例查詢來套用更多轉換或擷取步驟,而不必擔心修改或建立其他函式查詢步驟。
注意
您可以修改範例查詢內的步驟,以變更套用至查詢中每個二進位檔的函式。 範例查詢會連結至 函式,因此對範例查詢所做的任何變更會反映在函式查詢中。
如果有任何變更會影響數據行名稱或數據行數據類型,請務必檢查輸出查詢的最後一個步驟。 新增 Change 資料 行類型 步驟可能會造成步驟層級錯誤,讓您無法將數據表可視化。 詳細資訊: 處理錯誤