You need to enable JavaScript to run this app. Power BI DAX 实现多条件分组计数:统计同时满足两类条件的分组数量
优惠活动
大模型
产品
解决方案
定价
更多

Power BI DAX 实现多条件分组计数:统计同时满足两类条件的分组数量

DAX实现双条件匹配的分组计数方案

核心计算逻辑

按照场景规则,统计核心是逐组校验双条件的存在性,而非全表直接计数:

  • 遍历所有出现过的分组,分别判断每个分组下是否存在C1条件对应的有效非空值、是否存在C2条件对应的有效非空值
  • 仅将两个判断同时为真的分组纳入最终统计数量

可直接复用的度量值代码

同时匹配双条件的分组总数 = 
// 第一步:生成所有分组的逐组校验标记表
VAR GroupCheckTable = 
    ADDCOLUMNS (
        // 提取所有不重复的分组维度值
        VALUES ( '你的业务表'[分组标识列] ),
        // 标记当前分组是否存在C1的有效非空值
        "HasC1Value", 
            CALCULATE (
                COUNTROWS ( '你的业务表' ),
                '你的业务表'[条件列] = "C1",
                NOT ISBLANK ( '你的业务表'[值列] )
            ) > 0,
        // 标记当前分组是否存在C2的有效非空值
        "HasC2Value",
            CALCULATE (
                COUNTROWS ( '你的业务表' ),
                '你的业务表'[条件列] = "C2",
                NOT ISBLANK ( '你的业务表'[值列] )
            ) > 0
    )
// 第二步:过滤出同时满足双条件的分组,统计数量
RETURN
    COUNTROWS (
        FILTER (
            GroupCheckTable,
            [HasC1Value] = TRUE() && [HasC2Value] = TRUE()
        )
    )

代码使用说明

  • 替换占位符即可直接运行:把代码内的你的业务表替换为实际存储明细数据的表名,分组标识列替换为存储A/B/C这类分组维度的字段,条件列替换为标记C1/C2的字段,值列替换为用来判断“存在有效数据”的目标字段
  • 灵活适配判定规则:如果你的“存在值”判断标准不是非空,而是要求数值大于0、达到某一业务阈值,直接把代码里的NOT ISBLANK ( '你的业务表'[值列] )替换为对应判断逻辑即可,例如'你的业务表'[值列] > 100
  • 场景结果验证:按照你举例的分组规则计算时,仅分组A会被判定为同时满足双条件;分组B因缺少C1对应值被过滤;分组C因双条件都无有效数据被过滤,最终输出结果为1,和预期完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.25 14:06:04