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

Power BI分段筛选DAX累计度量问题:多选时功能失效

Power BI 累计度量筛选器全选失效问题解决

问题原因

原test total度量使用SELECTCOLUMNS获取筛选字段值,当筛选器全选时,该函数返回包含"TRUE"和"FALSE"的多行结果,IF函数无法处理多值场景,导致逻辑失效。同时CUMM before/CUMM after重复过滤日期,干扰了TOTALYTD的累计逻辑。

修正步骤

1. 保留基础度量与原始累计度量

无需修改已有的基础度量和原始累计度量:

# demandes distinctes = CALCULATE(
    COUNT(admissions[bk_admis]), 
    USERELATIONSHIP(admissions[DT_RECEPTION], 'date'[Date])
)
test = TOTALYTD([# demandes distinctes], 'date'[Date], "3/31")

2. 简化分段累计度量

去掉冗余的test before/test after,直接基于原始累计度量添加日期筛选:

CUMM before = CALCULATE(
    [test],
    'date'[Date] < DATE(2023, 06, 01),
    USERELATIONSHIP(admissions[DT_RECEPTION], 'date'[Date])
)
CUMM after = CALCULATE(
    [test],
    'date'[Date] >= DATE(2023, 06, 01),
    USERELATIONSHIP(admissions[DT_RECEPTION], 'date'[Date])
)

3. 重写最终累计度量

使用VALUES获取筛选选项集合,通过判断集合大小和内容实现分支逻辑:

test total = 
VAR SelectedFilters = VALUES('date'[filtre_date_1er_juin_2023])
VAR FilterCount = COUNTROWS(SelectedFilters)
RETURN
    SWITCH(
        TRUE(),
        FilterCount = 1 && "FALSE" IN SelectedFilters, [CUMM before],
        FilterCount = 1 && "TRUE" IN SelectedFilters, [CUMM after],
        FilterCount = 2, [test]
    )

逻辑说明

  • SelectedFilters:捕获当前筛选器选中的所有filtre_date_1er_juin_2023值
  • FilterCount:统计选中选项的数量
  • SWITCH分支:单选"FALSE"返回6月前累计值,单选"TRUE"返回6月及之后累计值,全选时返回原始累计度量

内容的提问来源于stack exchange,提问作者houssem eddine ayari

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 22:57:30