欢迎光临散文网 会员登陆 & 注册

Excel之PowerQuery 多表关系处理

2022-10-17 22:41 作者:孙兴华zz  | 我要投稿

网友提问:

其实表关系,当你处理不了的时候,就去找创建表的人,他一定是最懂的那个。

外人不懂你的业务,我能处理,但是方法不一定是最好的。PowerQuery处理完上载后使用DAX可以进一步分析。

用一句经典的话来讲:像我这种完全不知道这表是干什么的人,只能给你写出代码来,至于刷新时间,就不得而知了。解铃还须系铃人,建议找表的创建人处理。

传说中有三张表,如下

表名:原始表1
表名:原始表2
表名:原始表3

变成:

将三张原始表放在一个工作簿中

再打开一个新的工作簿,数据~获取数据~来自文件~从工作簿

1、先处理原始表2

先删除重复行

保留需要的列,删除不需要的列

2、主页~合并查询~将合并查询做为新查询

得到如下表格:

展开上表中【原始表2】这一列

得到结果:这张表的名字叫【合并1】

3、再新建合并查询

合并1与原始表1,通过【材料】列左外连接

得到下表,这张表叫合并2

4、进入分析阶段

我用截图的方式,将每个Table的表都程现出来

他的目的是,当外面大表的金额与这一行【原始表1】那列的Table里面的金额相等时,就取那一行。如下图所示,红、蓝、绿、灰都可以确定,但是到了黄颜色那里,它取账单号重复的两行,金额之和正好接近1542.87

5、开始行动,也是最关键的一步

新建列,筛选外面表金额=原始表1那列Table里面的金额时,就筛选,如果筛选表为空,那就对原始表1那列Table新建列对账单号分组计数,并筛选计数结果不等于1的,否则就返回筛选外面表金额=原始表1那列Table里面的金额的表。

我们只需要每个Table中的数据列,所以修改上面的公式:

6、展开这列

结果:

7、再展开这列

结果:

8、删除不需要的列,排序你保留的列

上载后:

PS: 每次展开时,想做动态就用Table.ColumnName去获取动态表头,之前的文章中多次提到,在此不再重复。

本文章配套案例文件,请到评论区置顶下载

PowerQuery合集:https://www.bilibili.com/video/BV1oa4y1j75e

更多教程:https://www.bilibili.com/read/cv10222110

Excel之PowerQuery 多表关系处理的评论 (共 条)

分享到微博请遵守国家法律