Excel之PowerQuery 分组时如何避免手写过多的字段名
网友提问:


解释网友的问题:
网友的意思是,现在只有北京、上海、深圳,假设有100个城市难到要聚合100次吗?

肯定不需要的,解决问题的方法有很多,我随便说一种,不一定是最好的。
解答网友的问题:
1、将数据导入PowerQuery

2、关键的一步,我们循序渐进的思考
(1)分组:这个x代表分组后数据列的每个Table

(2)将每个Table按列转成列表

现在Table.ToColumns(x) 代表数据列每个List

(3)我们只需要对第2列到最后一列的数据进行聚合,所跳过第一个List
现在 List.Skip(Table.ToColumns(x),1) 代表数据列的每个List

(4)遍历数据列每个List,对每个List中的每个小List应用List.Sum聚合
现在红框内的代码代表数据列每个List

(5)数据列每个List就是目标表中产品ABC对应的城市值
我们利用记录来自列表把城市名给他补上

现在红框内的代码代表数据列的每个Record(记录)

(6)将记录转成表

表头使用 Table.ColumnNames(更改的类型),1) 表示
现在红框内的代码代表数据列每个Table

3、展开
点红圈处展开

得到结果

这一步可以写成动态,我们之前反复讲过,多次使用过,不再重复讲解,可参考:https://www.bilibili.com/read/cv19261128/?from=readlist

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