You need to enable JavaScript to run this app. 如何向现有DAX度量值[Undup Active Clients KPI]新增过滤条件
优惠活动
大模型
产品
解决方案
定价
更多

如何向现有DAX度量值[Undup Active Clients KPI]新增过滤条件

DAX 度量值修改方案

核心问题

你原有代码的问题在于TREATAS仅传递了ClientWHID的筛选上下文,没有携带Client Services'[Service Month]的上下文,直接新增FILTER条件时无法获取到有效值做比对,导致条件不生效。FILTER本身可以实现你的筛选需求,只需补充上下文传递逻辑即可。

修改后的完整代码

MEASURE 'KPI Measures'[Undup Active Clients KPI] = 
// 筛选所有符合要求的有效服务记录
VAR filteredValidServices =
    FILTER (
        'Client Services',
        'Client Services'[ClientWHID] > 0
        && 'Client Services'[Is No-show] = FALSE ()
        && 'Client Services'[Is Cancellation] = FALSE ()
        && 'Client Services'[Is Non-claimable] = FALSE ()
    )
// 同时提取客户ID和对应服务月份,保留两个维度的匹配依据
VAR clientWithServiceMonth =
    SUMMARIZE (
        filteredValidServices,
        'Client Services'[ClientWHID],
        'Client Services'[Service Month]
    )
VAR result =
    CALCULATE (
        [Undup Active Clients],
        // 传递客户ID的匹配规则
        TREATAS ( 
            SUMMARIZE(clientWithServiceMonth, [ClientWHID]),
            'Client Episode Metrics'[ClientWHID] 
        ),
        // 添加入院日期小于等于服务月份的筛选条件
        'Client Episode Metrics'[AdmissionDate] <= MAXX(clientWithServiceMonth, [Service Month]),
        // 可选:移除Client Episode Metrics表的原有外部筛选,避免报表其他维度干扰逻辑
        REMOVEFILTERS('Client Episode Metrics')
    )
RETURN
    result

注意事项

  • 上述代码严格匹配单个客户的入院日期 <= 该客户自己的服务月份的需求,符合你描述的业务逻辑。
  • 如果你的报表需要保留Client Episode Metrics表的外部筛选(比如页面上有入院日期的切片器),删除REMOVEFILTERS('Client Episode Metrics')这一行即可。
  • 若你的基础度量值[Undup Active Clients]本身已经包含了Client Episode Metrics表的客户去重逻辑,无需额外调整该内部度量值。

内容的提问来源于stack exchange,提问作者Hell-1931

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 09:57:00