前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PowerBI将不同的excel文件的不同名的sheet汇总到一张表

PowerBI将不同的excel文件的不同名的sheet汇总到一张表

作者头像
陈学谦
发布2020-05-07 17:47:36
3.4K0
发布2020-05-07 17:47:36
举报
文章被收录于专栏:学谦数据运营学谦数据运营

工作中经常会遇到收集各个分公司的表然后汇总到一张表的情况,PowerBI或powerquery中的”从文件夹获取数据“提供了很大的便利。

不过,前提是所有文件的sheet名是相同的。如果sheet名不同,你可能需要学习一些骚操作。

以下是示例文件:

选择从文件夹中获取数据:

合并并加载,以第一个文件为示例文件:

不过,由于我的每个文件中的sheet名是不同的,所以出来一行错误:”该键与表中的任何行均不匹配“:

TIPS:

关于为什么会出现这个错误,我曾写过一篇文章专门介绍过:

整理你的报告从使用SQL开始

因为其它excel表中并没有示例文件中的“year2000”这个sheet名,所以会出现错误。

那如何解决呢?

解决办法1:

在上面这篇文章中也讲过,我们可以直接用0来表示第一行,第一行代表着第一个sheet,顺序是不会变的:

因此,我们打开转换示例文件,导航:

将这里的[Item="year2000",Kind="Sheet"]改成0

这样我们就将所有的excel文件中的第一个sheet导入进来了:

需要注意的是:

前文说的也很清楚,0代表第一个sheet,也就是说必须保证想要汇总的数据都在第一个sheet里(sheet名可以随意)。

但是如果待汇总的excel文件中,各个sheet的顺序是乱的(实际工作场景中经常发生),那么这种方式就不行了。

不过,如果sheet名有一定的规律,那么还是有办法解决的。

解决办法2:

通过筛选sheet名的方式。比如我们的示例文件中,我们想要获取的sheet名规则是”year20xx“,那么我们就可以以开头为”year“去筛选这些表,然后再将序号是0的表展开。

在转换示例文件中,进行修改:

也能得到正确的结果。

结论

PowerQuery给了我们很多便捷的方法汇总文件,这些方法要比手动或者使用VBA节省更多的时间。

然而默认的设置总是生硬的,限制条件很大,实际业务场景往往比预置环境复杂。

好在PowerQuery每一步都提供了详细的M代码支撑,通过适当修改代码,就可以实现不同的汇总方式。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • TIPS:
  • 解决办法1:
  • 解决办法2:
  • 结论
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档