如何在Power Query中按目标市场和年份创建条件求和自定义列?
Power Query按Destination Market和Year汇总销售额到新列的解决方法
问题根源
你之前的公式有两个关键错误:
- 列名混淆:你的目标分组列是
Destination Market,但公式里误写为Production Market,导致筛选条件完全不匹配; - 函数调用错误:第二个公式仅定义了函数结构,但未传入当前行的参数,所以单元格显示
Function。
方法一:可视化分组+合并(新手友好)
这是最直观的操作方式,无需编写复杂公式:
- 选中你的数据表,切换到「转换」选项卡,点击「分组依据」
- 在分组窗口选择「高级」选项:
- 添加两个分组列:第一个选
Destination Market,第二个选Year - 新增汇总列:列名填
Total Sales,操作选「求和」,目标列选Sales Volume - 点击确定,得到按
Destination Market和Year分组的汇总表
- 添加两个分组列:第一个选
- 回到原数据表,点击「开始」→「合并查询」→「合并查询」:
- 合并的两个表选原表和刚才生成的分组表
- 匹配列同时选中
Destination Market和Year - 点击确定后,展开合并列里的
Total Sales列,即可得到对应行的汇总值
方法二:直接添加自定义列(公式方式)
如果想用公式直接生成,替换公式里的#"你的原表步骤名"为你实际的表步骤名称(比如#"源"或#"Renamed Columns"),使用以下公式添加自定义列:
= let currentDest = [Destination Market], currentYear = [Year], filteredRows = Table.SelectRows(#"你的原表步骤名", each [Destination Market] = currentDest and [Year] = currentYear) in List.Sum(filteredRows[Sales Volume])
提示:用
let...in定义变量能让公式逻辑更清晰,避免上下文引用混淆;若数据量较大,优先用方法一分组后合并,效率更高。
内容的提问来源于stack exchange,提问作者eric stevenson
相关产品推荐
相关产品推荐

