https://www.cnblogs.com/alexywt/p/11390097.html
上一篇文章Power BI Power Query 批量導(dǎo)入1-單Excel工作簿中的所有工作表數(shù)據(jù)蔫巩,我講了如何將單個(gè)工作簿中所有工作表數(shù)據(jù)匯總,那么如果想要將某個(gè)文件夾下的所有工作簿中的所有工作表匯總該如何操作了壳繁?
我現(xiàn)在有某公司北京绎签、成都枯饿、廣州、上海各分部的銷售數(shù)據(jù)工作簿诡必,各分部各年度的數(shù)據(jù)分別存儲(chǔ)在相應(yīng)工作簿的對應(yīng)工作表中奢方,如下圖所示。
1爸舒、首先蟋字,請按照Power BI Power Query 批量導(dǎo)入1-單Excel工作簿中的所有工作表數(shù)據(jù)介紹的內(nèi)容,將“北京”工作簿中的所有表數(shù)據(jù)導(dǎo)入到Power Query中
2扭勉、接下來我們首先去拿到文件夾下所有的工作簿文件的全路徑字符串列表鹊奖,在Power Query界面中依次點(diǎn)擊“新建源/文件/文件夾”,填入文件夾路徑后點(diǎn)擊確定涂炎,在隨后彈出對話框中忠聚,直接點(diǎn)擊“轉(zhuǎn)換數(shù)據(jù)”按鈕
3设哗、保留“Name”和”Folder Path”2列,刪掉其他所有列
4两蟀、然后添加一個(gè)自定義列网梢,名稱為“文件全名”,公式為:
=[Folder Path]&[Name]
添加自定義列后赂毯,將Name和Folder Path列也刪掉
接下來操作的思路:
1战虏、首先需要將第1步中單工作簿工作表數(shù)據(jù)合并的操作包裝成一個(gè)函數(shù),讓該函數(shù)接收一個(gè)工作簿路徑參數(shù)党涕,并返回最終的合并表
2活烙、隨后我們在剛才前面得到的文件全名的表中調(diào)用包裝的函數(shù),這樣每一個(gè)文件就會(huì)得到一個(gè)子列表
3遣鼓、將子列表展開之后啸盏,就會(huì)得到所有工作簿中所有工作表的數(shù)據(jù)匯總結(jié)果
首先我們來定義一個(gè)參數(shù)
1、依次點(diǎn)擊“主頁/管理參數(shù)/新建參數(shù)”
2骑祟、參數(shù)的名稱與剛才查詢得到的表的列“文件全名”名稱一樣回懦,設(shè)置類型為文本,指定當(dāng)前值次企,然后點(diǎn)擊確定
3怯晕、隨后我們要將該參數(shù)使用到第1步操作得到的那個(gè)查詢中去,在查詢列表中選擇“2012年”那個(gè)查詢缸棵,點(diǎn)擊“主頁/高級編輯器”舟茶,將"G:\PowerBI\合并數(shù)據(jù)源\北京.xlsx"更換為如下代碼,更換完畢后點(diǎn)擊確定按鈕
源 = Excel.Workbook(File.Contents(Text.From(文件全名)), null, true),
4堵第、在”2012年”查詢上右擊吧凉,選擇“創(chuàng)建函數(shù)”,在隨后彈出的對話框中踏志,設(shè)置函數(shù)的名稱阀捅,我這里以Func開頭,后面跟上函數(shù)的含義
|5针余、在查詢列表中饲鄙,選中“文件全名”列所在的查詢,依次點(diǎn)擊“添加列/調(diào)用自定義函數(shù)”圆雁,配置自定義函數(shù)的參數(shù):新列名忍级,調(diào)用的函數(shù)名稱,以及參數(shù)值得來源伪朽。配置完成后轴咱,點(diǎn)擊確定按鈕即可。
6、接下來我們展開“子列表”即可嗦玖,去掉“使用原始列表作為前綴”的勾選患雇。
7跃脊、加載完畢后宇挫,所得到的數(shù)據(jù)就是所有工作簿下所有工作表的匯總數(shù)據(jù)了
8、需要說明一下的是酪术,Power Query加載數(shù)據(jù)不會(huì)自動(dòng)加載所有數(shù)據(jù)器瘪,如果此時(shí)你展開“文件全名”列,看到的列表區(qū)可能像下面這樣绘雁,只有一個(gè)數(shù)據(jù)橡疼,此時(shí)你需要點(diǎn)擊“加載更多”來查看