Power Query:合併來自多個文件夾的文件

Power Query:合併來自多個文件夾的文件

在這篇文章中,我們將進行強力查詢,合併網絡、桌面、OneDrive 或 SharePoint 中多個文件夾中的文件。

在這個例子中,我們在一個文件夾中有三個 CSV 文件,數據如下所示:

Power Query:合併來自多個文件夾的文件

我們將在 Excel 中使用 power query,其工作方式與 LuckyTemplates 中的 power query 完全相同。

目錄

連接到網絡中的文件夾

我們將從 power query 教程開始,將來自多個文件夾的文件與一個空 Excel 文件組合起來,然後轉到數據選項卡,依次單擊獲取數據來自文件來自文件夾

Power Query:合併來自多個文件夾的文件

這就是您連接到 C 驅動器或網絡上的文件夾的方式。如果要連接到 SharePoint 上的文件,請使用此連接器。

Power Query:合併來自多個文件夾的文件

使用瀏覽框搜索您的文件夾。然後單擊合併和轉換數據按鈕。

Power Query:合併來自多個文件夾的文件

然後我們會被問到這是什麼類型的 CSV 文件。單擊確定,如果它不起作用,則返回並更改為正確的 CSV 文件類型。

Power Query:合併來自多個文件夾的文件

我們在 power query 中得到了這一大塊步驟。這可能有點令人生畏和困惑。這三個文件堆疊在一起,這不是我們想要實現的。

Power Query:合併來自多個文件夾的文件

我們將點擊第一個文件,然後點擊Transform Sample File。我們對這個文件所做的任何更改,它也將應用於其他文件。

Power Query:合併來自多個文件夾的文件

清理數據

讓我們先整理一下。我們希望這個日期填寫在每條記錄上。如果Column1包含單詞 date,我們希望將日期放在其他列上,並填寫該日期。

Power Query:合併來自多個文件夾的文件

我們將添加一個條件列,說明如果 Column1 等於單詞 date,那麼我們需要 Column2 中的值。否則,將其留空。

Power Query:合併來自多個文件夾的文件

選擇日期和空值列,然後右鍵單擊並向下填充。

Power Query:合併來自多個文件夾的文件

結果將是包含所有日期的列。

Power Query:合併來自多個文件夾的文件

要去除此處的空白和空值,請單擊Remove Empty

Power Query:合併來自多個文件夾的文件

我們不想使用第一行作為我們的標題,但我們也不能使用使用第一行作為標題按鈕,因為它會將日期推入標題行。

Power Query:合併來自多個文件夾的文件

這樣做會更改每個文件的日期。最簡單的解決方案是我們手動重命名這些列。

Power Query:合併來自多個文件夾的文件

選擇所有列,按右鍵單擊,然後單擊刪除其他列

Power Query:合併來自多個文件夾的文件

在我們編輯副標題之後,我們現在已經準備就緒了。

Power Query:合併來自多個文件夾的文件

當我們點擊DemoFolder時,我們收到一條錯誤消息。大多數時候,當我們對轉換示例文件進行一些更改時,我們就會得到這個。

Power Query:合併來自多個文件夾的文件

大多數情況下,錯誤是由這個Changed Type步驟引起的,因為它要更改不再存在的原始 Column1。

Power Query:合併來自多個文件夾的文件

只需刪除此步驟即可修復錯誤。

Power Query:合併來自多個文件夾的文件

我們對第一個文件所做的一切現在都將應用於每個文件。它確實依賴於我們的源文件以相同的方式構建。如果它們不同,這並非不可能,但會困難得多。

因此,讓我們回顧一下這些查詢並了解發生了什麼。如果我們轉到示例文件的源步驟,它指的是這個叫做Parameter1的東西。

Power Query:合併來自多個文件夾的文件

如果我們向左看,Parameter1 稱為樣本文件。

Power Query:合併來自多個文件夾的文件

如果我們轉到示例文件的源,我們將導航到記錄 0。

Power Query:合併來自多個文件夾的文件

Power query 是一種零基礎的語言,這意味著 Record1 實際上是 Item 0。它只是抓取第一個文件,然後其他步驟自動轉換,這真是太棒了。過去,您過去必須在“轉換文件”選項卡中手動執行此操作。

如果我們展開它,它會給出一個文件名,然後運行所有步驟。

Power Query:合併來自多個文件夾的文件

如果您要使用高級編輯器,您將收到此警告。我們建議您避免這樣做,因為您之後無法重新建立它們。通常,只需在示例文件中進行所有調整即可。

Power Query:合併來自多個文件夾的文件

所以在這個整合步驟中發生的事情是它進入文件夾並過濾掉隱藏文件或系統文件。然後它添加了調用的自定義函數,重命名了幾列,然後刪除了所有其他內容。

Power Query:合併來自多個文件夾的文件

您會注意到的一件事是它丟失了列類型。因此,您在轉換示例文件中選擇的任何列類型都不會被合併文件繼承。

然後我們將點擊Close & load。每次我們單擊刷新時,它都會掃描該文件夾。

連接到 SharePoint 或 OneDrive 中的文件夾

如果您的文件位於 OneDrive 或 SharePoint 文件夾中,則過程幾乎相同,但略有不同。您需要 OneDrive 的正確路徑,即直到您名字的 URL。我們將單擊獲取數據,然後單擊 SharePoint 文件夾。

Power Query:合併來自多個文件夾的文件

它將提示我們輸入一個 URL,我們可以在其中粘貼鏈接。然後它會列出你在 OneDrive 中的幾乎所有文件。一旦我們進入Transform Data,我們將不得不執行幾個不同的步驟。首先,我們需要找到正確的文件夾,即DemoOneDriveFolder

Power Query:合併來自多個文件夾的文件

我們將點擊Text Filter,然後點擊Contains,然後輸入DemoOneDrive。如果我們不這樣做,我們可能會滾動很長時間而找不到我們要找的東西。

Power Query:合併來自多個文件夾的文件

Power Query:合併來自多個文件夾的文件

Power Query:合併來自多個文件夾的文件

然後,此過程會將其過濾到正確的文件夾中。如您所見,我們擁有三個文件。出色的。

Power Query:合併來自多個文件夾的文件

我們將轉到Folder Path列,右鍵單擊,轉到Text Filter,然後選擇Equals

Power Query:合併來自多個文件夾的文件

這樣,我們就可以獲取正確的路徑而不是包含部分。我們可以去掉後一步,因為我們不需要它。

另一位建議是創建一個過濾器,其中文本過濾器等於 CSV 文件——以防萬一其他文件被丟棄在這裡。

Power Query:合併來自多個文件夾的文件

最後的建議是調用此查詢OneDriveFolder然後引用它。當您稍後嘗試調試並需要返回時,或者甚至當您必須更改文件夾時,它很有用。

Power Query:合併來自多個文件夾的文件

這將比我們之前處理的示例更複雜。對於這一個,我們只需要ContentName列。

Power Query:合併來自多個文件夾的文件

我們只需右鍵單擊即可刪除其他列。

Power Query:合併來自多個文件夾的文件

單擊小雙頭箭頭,這將合併文件。

Power Query:合併來自多個文件夾的文件

從這一點開始,該過程將與前面的示例相同,其中還創建了幫助程序查詢。

請注意,如果您正在合併 Excel 文件,彈出的中間屏幕之一將詢問您要合併哪個工作表。這些工作表確實需要具有相同的名稱,因為如果您合併多個 Excel 文件,它可能會變得混亂。

這是我們轉換後的示例文件,所有這些文件都像我們在前面的示例中所做的那樣整齊地捆綁在一起。

Power Query:合併來自多個文件夾的文件

最後,這是將被推出並加載到數據模型中的合併文件。

Power Query:合併來自多個文件夾的文件

我們還有一個名為OneDriveFolder的額外文件夾。最後,不要忘記用有用且有意義的東西重命名您的步驟。

Power Query:合併來自多個文件夾的文件


數據模型的 Power Query 最佳實踐
在 LuckyTemplates 中將查詢組織成組

結論

在本教程中,我們使用了強大的查詢功能,合併了網絡、桌面、OneDrive 或 SharePoint 中多個文件夾中的文件。

如果您喜歡本教程中涵蓋的內容,請訂閱 LuckyTemplates 電視頻道​​。我和一系列內容創作者一直在發布大量內容,所有內容都致力於改進您使用 LuckyTemplates 和 Power Platform 的方式。


在 Power Automate 中執行直到循環控制

在 Power Automate 中執行直到循環控制

了解有關 Do Until 循環控制如何在 Power Automate 流中工作的基礎過程,並熟悉所需的變量。

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

使用 Deneb 為 LuckyTemplates 製作自定義視覺對象

受限於 LuckyTemplates 中提供的標準視覺效果?學習使用 Deneb 和 Vega-Lite 為 LuckyTemplates 創建自定義視覺對象,提升您的數據可視化能力。

在 Power Automate Desktop 中將日期添加到文件名

在 Power Automate Desktop 中將日期添加到文件名

在此博客中,您將了解如何使用 Power Automate Desktop 自動將日期添加到文件名的開頭或結尾。

Power Query:如何快速添加註釋

Power Query:如何快速添加註釋

找出幾種不同的方法在 Power Query 中添加註釋,這對於不喜歡記筆記的人非常有幫助。

Power Apps – SharePoint 集成指南

Power Apps – SharePoint 集成指南

在此博客中,您將了解 MS Power Apps 界面的基礎知識並了解 Power Apps-SharePoint 集成的過程。

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

什麼是 Python 中的自我:真實世界的例子

如何在 R 中保存和加載 RDS 文件

如何在 R 中保存和加載 RDS 文件

您將學習如何在 R 中保存和加載 .rds 文件中的對象。本博客還將介紹如何將對像從 R 導入 LuckyTemplates。

回顧前 N 個工作日——DAX 編碼語言解決方案

回顧前 N 個工作日——DAX 編碼語言解決方案

在此 DAX 編碼語言教程中,了解如何使用 GENERATE 函數以及如何動態更改度量標題。

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

在 LuckyTemplates 中使用多線程動態視覺技術展示見解

本教程將介紹如何使用多線程動態可視化技術從報告中的動態數據可視化中創建見解。

LuckyTemplates 篩選上下文簡介

LuckyTemplates 篩選上下文簡介

在本文中,我將貫穿過濾器上下文。篩選上下文是任何 LuckyTemplates 用戶最初應該了解的主要主題之一。