折腾手记

运维!!运维!!

0%

用PowerQuery制作多表数据透视表

背景

在EXCEL中基于一张Sheet制作数据透视表是现代人的基本功,那么如何进行多Sheet的数据透视表呢?网上的教程有很多,最灵活的是使用强大的PowerQuery进行数据整合,整合成一张表后再制作数据透视表。

使用PowerQuery进行基于EXCEL的数据整合,一般都是用选择一个EXCEL文件,实际上是用一个外部EXCEL文件做为PowerQuery数据源,使用了文件的绝对路径,移动了这个EXCEL文件,PowerQuery就会报错。如果要整合同一个EXCEL文件中多个Sheet,就会显得很奇怪:明明只有一个文件,这个文件有源数据,有整合好的数据,有数据透视表,但是却不能移动位置,否则就会出错。

需要通过相对路径访问外部数据源,或者直接使用内部Sheet。

PowerQuery使用内部Sheet的思路

EXCEL数据-获取数据-自其它源-自表格区域可以直接访问EXCEL的表(TABLE)和区域,,所以我们可以先将数据创建表,再将创建的表引入PowerQuery,进行数据整理,整理好的数据再上载回EXCEL。

PowerQuery使用内部Sheet的具体过程

准备数据

2011年南区北区的销售数据和2017年东南西北区的销售数据

现在要求使用PowerQuery将2011年和2017年南区北区销售数据整合在一张表中

生成TABLE,命名为_2011和_2017

插入-表格,将表格分别命名为_2011和_2017

顺便说一句,使用表格是EXCEL中结构化数据的起点,大家应该多用。

PowerQuery生成查询

选中表_2011,然后数据-获取数据-自其它源-自表格区域打开PowerQuery,

同样操作_2017,_2017多了两列,要将这两列去除,也是在PowerQuery中操作,如下图。

两个查询合并

将两个查询合二为一。这里只是简单的行拼接,所以使用追加查询。

新生成的查询命令为Total,使用创建新表的方式上载回EXCEL。这样就完成了数据整理。

当源数据改变的时候,包括增删减数据,合并好的数据也会自动更新,十分好用。

后记

第一次写多图的文章,也是第一次写基于GUI操作的文章,算是一个新的开端。