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

Power Query/DAX/Power BI多条件去重及特定行移除方法咨询

用Power Query和DAX实现多条件去重及移除指定Source行的自动化操作

Power Query 实现步骤

场景1:已完成第一步去重,仅移除Source="cmdd"的行

  1. 打开Power Query编辑器(点击「数据」选项卡→「从表格/范围」)
  2. 选中Source列,点击列标题的筛选图标,取消勾选cmdd选项后确定,即可快速移除目标行
  3. 若要通过代码精确控制,可在查询步骤中添加以下M代码(替换之前的步骤名称为实际步骤名):
    = Table.SelectRows(之前的步骤名称, each [Source] <> "cmdd")
    

场景2:整合去重与移除cmdd行,一步完成

如果想把「基于Concat去重」和「移除cmdd行」合并为一个流程:

  1. 导入原始数据到Power Query后,先执行去重:选中Concat列,点击「移除重复项」,或添加M代码:
    = Table.Distinct(更改的类型, {"Concat"})
    
  2. 再执行筛选操作,移除Source="cmdd"的行,方法同场景1。

DAX 实现方法

DAX适合在Power BI等工具中创建计算表,实现数据清理自动化:

方法1:基于已去重的表,移除cmdd行

假设你已经有一张完成第一步去重的表已去重表,创建新计算表:

清理后表 = FILTER(已去重表, 已去重表[Source] <> "cmdd")

方法2:一步完成去重+移除cmdd行

直接基于原始表,同时完成去重和筛选:

清理后表 = 
FILTER(
    DISTINCT('原始表'),  -- 基于所有列的唯一组合去重(等价于Concat列去重)
    '原始表'[Source] <> "cmdd"
)

如果只想保留指定列,也可以调整为:

清理后表 = 
SELECTCOLUMNS(
    FILTER(
        DISTINCT('原始表'),
        '原始表'[Source] <> "cmdd"
    ),
    "Machine", '原始表'[Machine],
    "Product", '原始表'[Product],
    "Source", '原始表'[Source],
    "Concat", '原始表'[Concat],
    "Count", '原始表'[Count]
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 19:35:20