如何在Power Query同表中添加销售人员月度销售额聚合列?
Power Query 实现原表新增月度销售总额列(无循环引用)
方法一:直接添加自定义列(无需额外分组表)
适用于数据量中等的场景,操作简单:
- 打开Power Query编辑器,选中你的销售表
- 切换到「添加列」选项卡,点击「自定义列」
- 在公式框中输入以下代码(替换
销售数据为你的实际表名):
List.Sum( Table.SelectRows( 销售数据, (x) => x[销售人员] = [销售人员] and Date.StartOfMonth(x[销售日期]) = Date.StartOfMonth([销售日期]) )[销售额] )
- 将新列重命名为「月度销售总额」,关闭并上载即可。后续数据源更新时,刷新查询就会自动重新计算月度总额。
方法二:独立分组表+合并(高效无循环引用)
如果数据量较大,推荐用这个方法,避免逐行计算的性能损耗:
- 右键你的销售表查询,选择「复制」,将复制后的查询命名为「月度销售分组」
- 在「月度销售分组」查询中,先添加一个「销售月份」列:
- 点击「添加列」→「自定义列」,输入
Date.StartOfMonth([销售日期]),重命名为「销售月份」
- 点击「添加列」→「自定义列」,输入
- 切换到「转换」选项卡,点击「分组依据」:
- 分组依据选择「销售人员」和「销售月份」
- 添加聚合列:新列名「月度销售总额」,操作选「求和」,列选「销售额」
- 回到原销售表查询,同样先添加「销售月份」列(和步骤2一致)
- 点击「添加列」→「合并查询」→「合并到当前查询」:
- 关联列选择原表的「销售人员」和「销售月份」,选择「月度销售分组」作为合并对象
- 展开合并后的列,只保留「月度销售总额」即可
后续处理提示
新增「月度销售总额」列后,直接用它做条件判断即可处理单日销售额,比如添加自定义列:
if [月度销售总额] >= 10000 then [销售额] * 1.1 else [销售额]
(示例:月度总额达标1万,单日销售额乘以1.1)
内容的提问来源于stack exchange,提问作者EssentialMarie
相关产品推荐
相关产品推荐

