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
相关产品推荐
相关产品推荐

