使用 Power Query 將多個結構相同檔案合併到同一個資料夾中。 舉例來說,每個月你想合併多個部門的預算工作簿,欄位相同,但每本工作簿的列數和數值不同。 設定好後,你可以像對任何單一匯入資料來源一樣套用額外的轉換,然後 重新整理資料 查看每個月的結果。
註 這個主題說明如何從資料夾中合併檔案。 你也可以合併存放在 SharePoint、Azure Blob 儲存體和 Azure Data Lake Storage 中的檔案。 流程類似。
開始之前
保持簡單:
- 確保你想合併的所有檔案都放在專用資料夾裡,沒有多餘的檔案。 否則,資料夾內的所有檔案以及你選擇的任何子資料夾都會包含在待合併的資料中。
- 每個檔案應擁有相同的結構,且欄位標頭、資料型態及欄位數量一致。 欄位不必順序相同,因為匹配是透過欄位名稱完成的。
- 如果可能,避免使用可包含多個資料物件的資料來源,例如 JSON 檔案、Excel 工作簿或 Access 資料庫,這些資料來源與資料無關。
從文字、CSV 或 XML 檔案匯入
這些檔案遵循簡單的模式,每個檔案中只有一個資料表。
選擇資料>,從資料夾中取得檔案>資料>。 「 瀏覽 」對話框會出現。
找到包含你想合併檔案的資料夾。
資料夾中檔案清單會出現 <在資料夾路徑> 對話框中。 確認你想要的所有檔案都有列出。
選擇對話框底部的指令之一,例如 「合併>」、「合併」&「載入」。 關於 所有這些指令的章節中,還有其他指令被討論。
如果你選擇任何 Combine 指令,就會跳出「Combine Files」對話框。 要更改檔案設定,請從 範例檔案 框中選取每個檔案,並依照需求設定 檔案來源、 分隔符及 資料型別偵測 。 你也可以選擇或清除對話框底部的「 跳過有錯誤的檔案 」勾選框。
選取 [確定]。
結果
Power Query 會自動建立查詢,將每個檔案的資料整合成工作表。 查詢步驟和欄位會依你選擇的指令而定。 欲了解更多資訊,請參閱「 關於所有那些查詢」章節。
從 JSON 匯入
選擇資料>,從資料夾中取得檔案>資料>。 「 瀏覽 」對話框會出現。
找到包含你想合併檔案的資料夾。
資料夾中檔案清單會出現 <在資料夾路徑> 對話框中。 確認你想要的所有檔案都有列出。
選擇對話框底部的其中一個指令,例如 「結合>」、「結合」&「變形」。 關於 所有這些指令的章節中,還有其他指令被討論。
Power Query 編輯器會出現。
價值欄位是結構化的 清單 欄位。 選擇 「展開
圖示,然後選擇 「展開至新列」。
價值欄現在改為結構化的 紀錄 欄。 選擇「 展開
。 會出現一個下拉選單對話框。
保持所有欄位被選取。 你可能想清除「 使用原始欄位名稱」作為前綴 的勾選框。 選取 [確定]。
選取所有包含資料值的欄位。 選擇 「首頁」,在 「移除欄位」旁邊的箭頭,然後選擇 「移除其他欄位」。
選擇 「Home>Close & Load」。
結果
Power Query 會自動建立查詢,將每個檔案的資料整合成工作表。 查詢步驟和欄位會依你選擇的指令而定。 欲了解更多資訊,請參閱「 關於所有那些查詢」章節。
從 Excel 或 Access 匯入
每個這些資料來源都可以有多個物件可匯入。 Excel 工作簿可以包含多個工作表、Excel 表格或命名範圍。 Access 資料庫可以包含多個資料表和查詢。
選擇資料>,從資料夾中取得檔案>資料>。 「 瀏覽 」對話框會出現。
找到包含你想合併檔案的資料夾。
資料夾中檔案清單會出現 <在資料夾路徑> 對話框中。 確認你想要的所有檔案都有列出。
選擇對話框底部的指令之一,例如 「合併>」、「合併」&「載入」。 關於 所有這些指令的章節中,還有其他指令被討論。
在 Combine Files 對話框中:
- 在 範例檔案 框中,選擇一個檔案作為建立查詢的範例資料。 你可以選擇不選取物件,或只選取一個物件。 但你不能選擇超過一個。
- 如果你有很多物件,可以用 搜尋 框找到物件,或用 顯示選項 搭配 重新整理 按鈕來篩選清單。
- 請選擇或清除對話框底部的 「跳過有錯誤檔案 」勾選框。
選取 [確定]。
結果
Power Query 會自動建立查詢,將每個檔案的資料整合成工作表。 查詢步驟和欄位會依你選擇的指令而定。 欲了解更多資訊,請參閱「 關於所有那些查詢」章節。
請使用 Combine Files 指令
為了更靈活,你可以在 Power Query 編輯器中使用「Combine Files」指令明確合併檔案。 假設來源資料夾有多種檔案類型和子資料夾,你想鎖定具有相同檔案類型和結構的特定檔案,但不針對其他檔案。 這能提升效能,並協助簡化你的轉換流程。
選擇資料>,從資料夾中取得檔案>資料>。 「 瀏覽 」對話框會出現。
找到包含你想合併檔案的資料夾,然後選擇 「開啟」。
資料夾路徑對話框中會出現<>該資料夾及子資料夾中所有檔案的清單。 確認你想要的所有檔案都有列出。
在底部選擇 「轉換資料 」。 Power Query 編輯器會開啟並顯示資料夾內的所有檔案及子資料夾。
要選擇你想要的檔案,可以篩選欄位,例如擴充功能或資料夾路徑。
要將檔案合併成單一表格,請選擇包含每個二進位檔案 (通常是第一欄) 的內容欄位,然後選擇「主頁>合併Files」。 會顯示「Combine Files」對話框。
Power Query 會分析範例檔案,預設是清單中的第一個檔案,以使用正確的連接器並識別相符的欄位。
若要使用範例檔案的不同檔案,請從範例 檔案 下拉選單中選擇該檔案。
可選擇在底部選擇跳 過有錯誤的檔案 ,以排除這些檔案。
選取 [確定]。
結果
Power Query 會自動建立查詢,將每個檔案的資料整合成工作表。 查詢步驟和欄位會依你選擇的指令而定。 欲了解更多資訊,請參閱「 關於所有那些查詢」章節。
關於那些指令
你可以選擇好幾個指令,每個指令都有不同的用途。
- 結合與轉換資料要用查詢合併所有檔案,然後啟動 Power Query 編輯器,選擇「合併>、合併與轉換資料」。
- 合併與裝載 要顯示 範例 檔案對話框,建立查詢,然後載入工作表,選擇 「合併>、合併並載入」。
- 合併並裝載至要顯示範例檔案對話框,建立查詢,然後顯示匯入對話框,選擇合併>合併與載入。
- 負載若要建立一個只需一步的查詢,然後載入工作表,請選擇「載入>」。
- 載入至若要建立一個只需一步的查詢,然後顯示匯入對話框,請選擇「載入>載入至」。
- 資料轉換要建立一個步驟的查詢,然後啟動 Power Query 編輯器,選擇「資料轉換」(Transform Data)。
關於那些問題
無論你如何合併檔案,都會在 「Helper Queries」群組的查詢面板中建立多個支援查詢。
- Power Query 會根據範例查詢建立一個「範例檔案」查詢。
- 「Transform File」函式查詢使用「Parameter1」查詢,指定每個檔案 (或二進位) 作為「範例檔案」查詢的輸入。 此查詢同時建立包含檔案內容 的內容欄位, 並自動展開結構化 的記錄 欄位,將欄位資料加入結果中。 「轉換檔案」與「範例檔案」查詢是連結的,因此「範例檔案」查詢的變更會反映在「轉換檔案」查詢中。
- 包含最終結果的查詢位於「其他查詢」群組中。 預設情況下,它會以你匯入檔案的資料夾命名。
如需進一步調查,請右鍵點擊每個查詢並選擇 「編輯」 ,檢視每個查詢步驟,並觀察查詢如何協同運作。