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

Power BI DAX列比较:排除含指定多状态ID的计数统计

DAX实现排除双状态ID的计数方案

核心逻辑:先定位所有同时绑定notified、success两种状态的ID,将这批ID从全量去重ID集合中剔除后再做计数即可,无需逐行比对字段值。


方案1:写度量值(适配所有可视化场景,推荐)

直接新建度量值,替换代码里的表名为你实际的数据集名称即可:

合规ID计数 = 
// 第一步:取出所有需要排除的ID集合
VAR ExcludedIDs =
    CALCULATETABLE (
        VALUES ( '你的业务表'[ID] ),
        '你的业务表'[状态] = "notified",
        CALCULATETABLE ( VALUES ( '你的业务表'[ID] ), '你的业务表'[状态] = "success" )
    )
// 第二步:统计排除后的去重ID数量
RETURN
    COUNTROWS ( FILTER ( VALUES ( '你的业务表'[ID] ), NOT [ID] IN ExcludedIDs ) )

注意事项:

  • 代码里的状态值要和你实际数据集里的拼写、大小写完全匹配,如果你数据里的通知状态是Notifed(拼写缺i),就把代码里的"notified"改成对应文本,否则会匹配失败
  • 这个度量值可以直接拖到卡片图、矩阵、带切片器联动的图表里用,会自动跟随筛选条件计算

方案2:加计算列(适配入门用户点选操作习惯)

如果不习惯写度量值,可以新建计算列,给每个ID打上是否需要排除的标记:

ID有效性标记 = 
VAR CurID = '你的业务表'[ID]
VAR IDAllStatus = CALCULATETABLE ( VALUES ( '你的业务表'[状态] ), '你的业务表'[ID] = CurID )
RETURN
    IF ( "notified" IN IDAllStatus && "success" IN IDAllStatus, "需排除", "保留" )

标记完成后,在视觉筛选器里把ID有效性标记筛成「保留」,直接对ID字段做非重复计数就能得到结果,操作门槛更低。


快速校验方法

拉一个表格视觉对象,放入ID、状态两个字段,找几个确认同时有notified、success状态的ID,核对是否没有被计入统计结果,避免表名、字段名、状态值写错导致计算偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.02 22:16:01