专栏名称: PowerBI星球
海量干货,帮你轻松上手 Power BI
目录
相关文章推荐
深焦DeepFocus  ·  在柏林,已经看了23部电影… ·  2 天前  
深焦DeepFocus  ·  年度日本电影总结,现象级女演员出现! ·  昨天  
参考消息  ·  大国重器!探秘“造岛神器”! ·  2 天前  
华人生活网  ·  伊州地毯清洁工4.99美元淘的盘子,竟是中国 ... ·  2 天前  
华人生活网  ·  伊州地毯清洁工4.99美元淘的盘子,竟是中国 ... ·  2 天前  
51好读  ›  专栏  ›  PowerBI星球

批量合并Excel,你应该掌握的Power Query技巧

PowerBI星球  · 公众号  ·  · 2024-06-25 11:51

正文

PowerQuery的一大经典且高频应用,就是批量汇总多个Excel工作簿,很多人刚开始认识Power Query也是通过这个功能。


虽然比较简单,但遇到不少人会在批量合并的过程中,出现各种问题,不知道怎么解决, 其实PowerQuery这个简单的操作步骤中,也有不少技巧,掌握之后可以帮你更灵活高效的汇总数据。


以批量汇总文件夹的Excel工作簿为例,


在这个文件夹中,有北京、广州、杭州三个Excel工作簿,其中每个工作簿又包含1月、2月、3月三个sheet。



先按常规步骤操作一遍,


获取数据>文件夹



↑ 合并并转换数据



这是大家最常用的操作方式,来看看这样做的结果是什么。



虽然完成了一键批量合并,非常快捷,但是左边查询栏多出很多不需要的查询,看着很乱,可是如果你想删除,是不是怎么也删除不掉?


这些查询PowerQuery执行合并操作时,默认操作过程留下的中间文件,当你点击"合并并转换数据"时,PowerQuery先根据其中一个文件作为示例,生成一个自定义函数,然后调用自定义函数,完成合并。


自动合并,除了会留下一堆杂乱的查询无法删除,还有个问题是,如果合并结果出错(出错的概率很高),需要修改示例文件或者自定义函数的代码,但是对于初学者是比较困难的,很多人不知道如何修改。


所以不建议使用默认的合并操作,在导入之后的预览窗口,推荐你使用“转换数据”,如下图所示:



之后的操作步骤如下:


↑ 选中[Content],删除其他列

你也可以根据需要保留部分列。


然后不要直接双击Content列右侧的按钮展开数据,而要通过添加自定义列的方式来进行。


↑ 新建自定义列


导入到PowerQuery中的数据默认都是 类型为binary 类型,需要用函数将它解析出来,对于Excel工作簿文件,输入:

=Excel.Workbook([Content],true)


↑ 展开自定义列



↑ 展开Data列


↑ 完成合并


你再看左边的查询栏,是不是非常干净,只有一个查询。


这种算是手工合并数据,但相比自动合并,也就是输入一个简短的M函数,多点了几次鼠标而已,熟练操作后,整个过程不会超过一分钟。



通过上面的描述和操作过程,涉及到两个常用的PowerQuery合并技巧:


1, 为了避免出现杂乱的查询文件,使用“转换数据”,手动合并;


2. 新建自定义列时,Excel.Workbook的第二个参数不要省略,当参数为true时,会自动将Excel的第一行用作标题,可以省去一个步骤。


并且在手动合并的过程中,灵活运用,可以方便地进行各种形式的数据合并:


3. 合并文件夹中的部分工作簿


放入文件夹中的工作簿,可以按需要合并,而并不是必须全部合并。

在导入后的第一步【源】中,可以筛选需要合并的工作簿,假如只需要合并北京和杭州,直接勾选就可以了。



之后的步骤不变。



4. 合并文件夹中的部分工作表。


工作簿中的sheet,同样可以按需合并。

比如只合并每个工作簿中名称为“3月”的sheet, 在添加并展开自定义列以后,在Name列筛选3月,


之后的步骤不变。



5. 合并文件夹中的某一类型数据。


如果文件夹中的文件类型,不止一种,还可以选择按文件类型合并。

假如文件夹中既有Excel格式,还有csv、txt格式的数据文件,如果直接全部合并会报错,那么可以按类型分别单独合并。


依然在【源】这个步骤中,可以按数据格式来筛选。



6. csv、txt格式的数据合并技巧。


上面添加自定义列时用的是Excel.Workbook,是专门用来解析Excel格式的,当数据格式为csv或txt时,需要换个解析函数。







请到「今天看啥」查看全文