Power Query中如何按匹配列计算对应列的平均值?
在Power Query中按event分组计算score平均值并添加到每行
现有名为MASTER_Global Game Table的表格,需新增average列,显示当前行event对应的所有score的平均值(例如ev1对应的平均值为(33+40+23)/3=32,该行的所有行average列均显示32)。
以下是两种实现方法:
方法1:通过Power Query界面可视化操作
- 选中表格中的
event列,点击顶部菜单栏的转换选项卡 → 分组依据- 分组依据选择
event列 - 新列名输入
average,操作选择平均值,目标列选择score - 点击确定,生成仅包含
event和对应平均值的新表格
- 分组依据选择
- 切换回原
MASTER_Global Game Table查询,点击合并查询 → 合并查询作为新列- 合并依据选择
event列,关联对象选择刚才生成的分组平均值表格 - 展开合并后的列,仅保留
average字段即可
- 合并依据选择
方法2:使用M代码直接添加自定义列
在查询编辑器中,点击添加列选项卡 → 自定义列,输入以下M代码:
List.Average(Table.SelectRows(#"MASTER_Global Game Table", (x) => x[event] = [event])[score])
代码逻辑:先通过Table.SelectRows筛选出与当前行event值相同的所有行,提取这些行的score列形成列表,最后用List.Average计算该列表的平均值。
内容的提问来源于stack exchange,提问作者user3112721
相关产品推荐
相关产品推荐

