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

Power BI 如何编写仅保留tbCategory Date筛选的去重计数度量值

原有代码问题分析

  • 你将DISTINCTCOUNT逻辑放在VAR中提前计算,已经固化了原始筛选上下文的计算结果,后续CALCULATE调整上下文不会改变该VAR的返回值,是核心错误点
  • 仅用ALLSELECTED(tbCalendar)只能清除tbCalendar表的选中筛选,无法移除tbFiles、tbCategory其他列的筛选,不满足忽略所有筛选的要求

正确度量值写法

CountKeyCodRows = 
CALCULATE(
    DISTINCTCOUNT(tbFiles[KeyCod]),
    -- 清除所有表的所有外部筛选器
    ALL(),
    -- 保留tbCategory表Date列的现有筛选
    VALUES(tbCategory[Date])
)

逻辑说明

  • ALL() 会清空当前评估上下文内所有表的所有筛选规则,实现忽略全部已设置筛选的要求
  • VALUES(tbCategory[Date]) 会将当前上下文中tbCategory[Date]列的已有筛选重新应用,确保仅保留该列的筛选效果
  • 聚合逻辑直接放在CALCULATE内部,保证计算是在调整后的筛选上下文中执行

如果你的模型中tbCategory和tbFiles的关系传播存在异常,可以额外添加跨表筛选控制参数:

CountKeyCodRows = 
CALCULATE(
    DISTINCTCOUNT(tbFiles[KeyCod]),
    ALL(),
    VALUES(tbCategory[Date]),
    -- 强制启用tbCategory到tbFiles的筛选传播
    CROSSFILTER(tbCategory[Category], tbFiles[Category], Both)
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 03:24:01