在数据处理的工作中,分组汇总数据,是我们最频繁的动作之一。在 Excel 工作表中我们可以使用函数 SUMIFS,或者数据透视表对数据进行汇总,但在 Power Query 中怎么实现类似的效果呢?
Power Query 自从在 Office 2016 版本起,就内置在 Excel 顶部菜单的【数据】下,入口都在【获取和转换(数据)】分组里面:
PQ入口,不同版本外观有轻微差别Power Query 的最大好处是它提供了强大而灵活的方法,能够自动化地从多个来源导入数据,并把数据转换成需要的格式及结构,实现个性化、自动化的数据处理流程。很多粉丝反馈用了 Power Query 后就回不去了,很多原有的数据处理流程都希望用 Power Query 进行重新构建,主要原因就是 Power Query 的自动化体验很好 💯。
很多在传统工作表中能完成的工作,在 Power Query 里都有相应的解决方法,所以如果你已经有 Excel 的使用经验后,上手 Power Query 只要几个小时就行。回到本文的主题,如何在 Power Query 中实现分组汇总统计数据呢?
把数据源导入 PQ 中
数据源Power Query 不会改变你的数据源,只是读取你的数据源而已。
现在我们的目标是实现按城市分组,求和销售数量和销售额:
分组依据
先来实现按城市分组,求和销售数量:
分组依据-汇总销售数量选中城市列 主页 → 分组依据(或:转换 → 分组依据) 新列名:表示汇总列的名字 操作:汇总方式,这里选“求和” 柱:就是待汇总列,这里选“销售数量”
是不是超级简单?!
但现在只是对销售数量汇总了,我要把销售金额也一起汇总,怎么办?
增加聚合字段就是那么方便!从步骤里点击设置图标,重新打开分组依据的设置窗口,通过高级选项去添加聚合即可。
接下来你还能对汇总后的表格进行排序,最后再加载回工作表中即可。
排序并加载到工作表中Excel 传统工作表里能做的,在 Power Query 也是能做到的!而且 Excel 不能做的,Power Query 还能做!
文本聚合
如果 Power Query 的汇总只有上面的功能,那它的吸引力当然是不够的。但 Power Query 还支持用 M 语言去写公式,可以让你能更灵活地处理数据,解决传统工作表数据处理的痛苦问题。
例如我想看看不同的城市都在卖哪些品类呢?

其实这个效果,还是要按城市分组,然后对品类字段的文本进行串接聚合,只是这种聚合的方式在仅通过鼠标点击操作无法完成,而需要手动写一下 M 语言的公式,对文本进行聚合串接。
文本聚合操作中我把操作生成公式中的_改成了使用以下函数:
Text.Combine(_[类别],", ")
这样就能把类别列的文本进行聚合了,轻松地搞定了在 Excel 做不了文本聚合的难题,相当方便!
最后
Excel 的 Power Query 是近年最重要的功能组件之一,它能让普通用户轻松地通过鼠标点击就能构建自动化的数据处理流程,极大地提升了工作效率,是现代 Excel 用户必须学习的技能。传统 Excel 工作表能做的它能做,而且鼠标点击基本就能完成,传统 Excel 工作表中不能完成的,Power Query 也能完成!如果你了解一些 M 函数知识,更会是如虎添翼,各种数据处理自动化都能搞定!