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

Power BI DAX Measure需求:统计同一技能等级一致的唯一用户数

解决方案:DAX度量值实现统计符合条件的用户数

需求说明

统计存在至少一个技能,且该技能对应的所有等级完全一致的用户数量(示例中John的SQL技能所有等级均为2,符合条件,结果为1),要求仅使用DAX度量值,不能使用计算列。

实现的DAX度量值

符合条件的用户数 = 
VAR SkillLevelConsistent = 
    SUMMARIZE(
        '数据表',
        '数据表'[Name],
        '数据表'[Skill],
        "等级是否一致", IF(MIN('数据表'[Level]) = MAX('数据表'[Level]), 1, 0)
    )
VAR ValidUsers = 
    DISTINCT(
        SELECTCOLUMNS(
            FILTER(SkillLevelConsistent, [等级是否一致] = 1),
            "有效用户", [Name]
        )
    )
RETURN
COUNTROWS(ValidUsers)

代码逻辑解释

  1. SkillLevelConsistent变量:

    • 通过SUMMARIZE按Name(用户)和Skill(技能)分组,对每组计算Level的最小值与最大值。
    • 若最小值等于最大值,说明该用户的这个技能下所有等级完全一致,标记为1,否则标记为0。
  2. ValidUsers变量:

    • 筛选出标记为1的用户-技能组合,提取其中的Name并通过DISTINCT去重(避免同一用户因多个符合条件的技能被重复计数)。
  3. 返回结果:

    • 用COUNTROWS统计去重后的有效用户总数。

关于你之前尝试的问题说明

  • EARLIER函数无效:EARLIER用于引用外层行上下文的值,若未正确构建按用户-技能分组的多层行上下文,就无法精准匹配同一用户的同一技能数据。
  • MAX函数结果错误:单独使用MAX未按用户-技能分组时,会计算整个表的最大等级,而非单个用户单个技能的最大等级,导致逻辑偏差。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 01:52:03