You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerQuery中删除Value列求和为0的分组行?

在PowerQuery中保留Value列分组总和不为0的所有行

可视化操作步骤(适合新手)

  • 将财务数据导入PowerQuery编辑器后,切换到添加列选项卡,点击自定义列
  • 在弹出的公式框中输入以下内容(替换成你实际的分组列名,这里用你提到的Category、Supplier、Cost Center):
    List.Sum(Table.SelectRows(#"上一步骤名称", (行)=>行[Category] = [Category] and 行[Supplier] = [Supplier] and 行[Cost Center] = [Cost Center])[Value])
    
    注意:把#"上一步骤名称"替换成查询步骤列表里你当前的上一步名称(比如默认的"源"或其他自定义步骤名)
  • 点击确定后,会新增一列,显示每一行所属分组的Value总和
  • 点击该列的筛选按钮,取消勾选值为0的选项,只保留非0行
  • 右键删除这个临时添加的列,即可得到保留所有原始列、且分组Value总和不为0的目标数据

直接编辑M代码示例

如果习惯写代码,可替换现有查询步骤为:

let
    源 = Excel.CurrentWorkbook(){[Name="你的数据表名"]}[Content],
    添加分组总和列 = Table.AddColumn(源, "分组Value总和", each List.Sum(Table.SelectRows(源, (行)=>行[Category]=[Category] and 行[Supplier]=[Supplier] and 行[Cost Center]=[Cost Center])[Value])),
    筛选非0行 = Table.SelectRows(添加分组总和列, each [分组Value总和] <> 0),
    删除临时列 = Table.RemoveColumns(筛选非0行,{"分组Value总和"})
in
    删除临时列

为什么之前的方法不生效

  • 删除重复行:你的行只是"近乎一致",并非完全相同,PowerQuery无法判定为重复行,所以无效
  • 普通Group By:默认仅展示分组列和聚合后的总和列,不会保留原始所有行,不符合需求

内容的提问来源于stack exchange,提问作者Patrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 01:35:25