Power Query学习笔记1:多列聚合求和

 需求分析:公司在全国有多个销售区域,每个销售区域又有多个项目组。现需从各销售区、各项目组收取1-12月的销售数据并汇总,汇总字段按照销售区区分。

此文目的:多个表格的简单整合比较容易,使用PQ可以实现自动更新,数据处理能力也大大提升。此文针对的是多表汇总后进行的按销售区域聚合的步骤。

解决思路:数据聚合可用的方法有”分类汇总“或”数据透视表“,但是因为上一步骤使用PQ对多表进行了整合,再对整合后的表另外单独数据透视就有点繁琐,何不一步到位在PQ中进行聚合?PQ中自带“分组依据”功能。下面是例表,同时先看下“分组依据”如何使用。



“分组依据”功能对于需要求和的列数不多的情况下很方便,但如果1-12月均需要进行求和,就要在第④步中操作12次。所以我想对这一步进行简化。

我们需要用到的函数是Table.Group[官方文档],先用最简单的形式写出这个函数,看看会抓取到什么结果。

可以看到,Group按照区域名称抓取了每个区域的数据,汇总成一个Table放在我们构建的”数据“列。对于单个Table,我们无需再进行聚合,直接对其每列数字进行相加就可以了。拿”北京“区域为例,先把它转换为列表,再使用List.Sum函数相加。


还要使用Table.FromRows函数把列表转换为一行表格。为了标识列,使用Table.ColumnNames函数获取源表的列名和汇总的结果拼接在一起。


退回步骤一,既然我们有了每个区域的汇总表格,那就可以在步骤一中用步骤二的代码对”数据“列进行替换了。

这时再对步骤一的"数据"列进行扩展即可。

最终表的效果如图




评论