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

DAX度量筛选计数异常,需修改以统计含T1/T2指控的多次Booking个体数

修改DAX度量以统计符合条件的唯一个体数

需求:统计同时满足以下两个条件的唯一个体数量,正确结果应为5:

  • 存在多次Booking Events(现有度量已算出此类个体共16个)
  • 该个体的记录中包含T1或T2类型的指控

现有度量的不足

现有度量仅筛选出了有多次Booking Events的个体,未加入T1/T2指控的条件判断,因此需要补充该筛选逻辑。

修改后的DAX度量方案1

# 有多次逮捕且含T1/T2指控的个体数 = 
VAR tbl =
    SUMMARIZE(
        factBookingCharge,
        factBookingCharge[fkEmployee],
        "逮捕次数", DISTINCTCOUNT(dimBookingEvent[BookingSystemId]),
        "含T1/T2指控", 
            COUNTROWS(
                FILTER(
                    factBookingCharge,
                    factBookingCharge[指控类型] IN {"T1", "T2"}
                )
            ) > 0
    )
VAR 符合条件的个体 = CALCULATE(
    DISTINCTCOUNT(factBookingCharge[fkEmployee]),
    FILTER(
        tbl,
        [逮捕次数] > 1 && [含T1/T2指控] = TRUE()
    )
)
RETURN
    符合条件的个体

修改说明:

  1. 在SUMMARIZE函数中新增含T1/T2指控字段,通过COUNTROWS+FILTER判断当前个体的记录中是否存在T1或T2指控
  2. 筛选临时表tbl时,同时加入[逮捕次数] > 1和[含T1/T2指控] = TRUE()两个条件,确保仅统计同时满足要求的个体

修改后的DAX度量方案2(集合交集写法)

# 有多次逮捕且含T1/T2指控的个体数 = 
VAR 多次逮捕的个体集合 = 
    CALCULATETABLE(
        VALUES(factBookingCharge[fkEmployee]),
        SUMMARIZE(
            factBookingCharge,
            factBookingCharge[fkEmployee],
            "逮捕次数", DISTINCTCOUNT(dimBookingEvent[BookingSystemId])
        ),
        [逮捕次数] > 1
    )
VAR 含T1_T2指控的个体集合 = 
    CALCULATETABLE(
        VALUES(factBookingCharge[fkEmployee]),
        factBookingCharge[指控类型] IN {"T1", "T2"}
    )
VAR 符合条件的个体 = 
    DISTINCTCOUNT(
        INTERSECT(多次逮捕的个体集合, 含T1_T2指控的个体集合)[fkEmployee]
    )
RETURN
    符合条件的个体

修改说明:

  1. 先分别筛选出「有多次逮捕的个体集合」和「含T1/T2指控的个体集合」
  2. 使用INTERSECT函数取两个集合的交集,再统计交集中的唯一个体数量

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:27:16