Power BI Power Query 批量導入2-多Excel工作簿中的所有工作表數(shù)據(jù)

https://www.cnblogs.com/alexywt/p/11390097.html
上一篇文章Power BI Power Query 批量導入1-單Excel工作簿中的所有工作表數(shù)據(jù),我講了如何將單個工作簿中所有工作表數(shù)據(jù)匯總,那么如果想要將某個文件夾下的所有工作簿中的所有工作表匯總該如何操作了?

我現(xiàn)在有某公司北京、成都、廣州、上海各分部的銷售數(shù)據(jù)工作簿,各分部各年度的數(shù)據(jù)分別存儲在相應工作簿的對應工作表中,如下圖所示。

1、首先,請按照Power BI Power Query 批量導入1-單Excel工作簿中的所有工作表數(shù)據(jù)介紹的內(nèi)容,將“北京”工作簿中的所有表數(shù)據(jù)導入到Power Query中

2、接下來我們首先去拿到文件夾下所有的工作簿文件的全路徑字符串列表,在Power Query界面中依次點擊“新建源/文件/文件夾”,填入文件夾路徑后點擊確定,在隨后彈出對話框中,直接點擊“轉(zhuǎn)換數(shù)據(jù)”按鈕

3、保留“Name”和”Folder Path”2列,刪掉其他所有列

4、然后添加一個自定義列,名稱為“文件全名”,公式為:

=[Folder Path]&[Name]

添加自定義列后,將Name和Folder Path列也刪掉

接下來操作的思路:

1、首先需要將第1步中單工作簿工作表數(shù)據(jù)合并的操作包裝成一個函數(shù),讓該函數(shù)接收一個工作簿路徑參數(shù),并返回最終的合并表

2、隨后我們在剛才前面得到的文件全名的表中調(diào)用包裝的函數(shù),這樣每一個文件就會得到一個子列表

3、將子列表展開之后,就會得到所有工作簿中所有工作表的數(shù)據(jù)匯總結(jié)果

首先我們來定義一個參數(shù)

1、依次點擊“主頁/管理參數(shù)/新建參數(shù)”

2、參數(shù)的名稱與剛才查詢得到的表的列“文件全名”名稱一樣,設(shè)置類型為文本,指定當前值,然后點擊確定

3、隨后我們要將該參數(shù)使用到第1步操作得到的那個查詢中去,在查詢列表中選擇“2012年”那個查詢,點擊“主頁/高級編輯器”,將"G:\PowerBI\合并數(shù)據(jù)源\北京.xlsx"更換為如下代碼,更換完畢后點擊確定按鈕

源 = Excel.Workbook(File.Contents(Text.From(文件全名)), null, true),

4、在”2012年”查詢上右擊,選擇“創(chuàng)建函數(shù)”,在隨后彈出的對話框中,設(shè)置函數(shù)的名稱,我這里以Func開頭,后面跟上函數(shù)的含義

|

|
image
|

5、在查詢列表中,選中“文件全名”列所在的查詢,依次點擊“添加列/調(diào)用自定義函數(shù)”,配置自定義函數(shù)的參數(shù):新列名,調(diào)用的函數(shù)名稱,以及參數(shù)值得來源。配置完成后,點擊確定按鈕即可。

6、接下來我們展開“子列表”即可,去掉“使用原始列表作為前綴”的勾選。

7、加載完畢后,所得到的數(shù)據(jù)就是所有工作簿下所有工作表的匯總數(shù)據(jù)了

8、需要說明一下的是,Power Query加載數(shù)據(jù)不會自動加載所有數(shù)據(jù),如果此時你展開“文件全名”列,看到的列表區(qū)可能像下面這樣,只有一個數(shù)據(jù),此時你需要點擊“加載更多”來查看

image

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容