DAX度量值在下拉框多选年份时返回空白,如何修复?
解决DAX度量值多选年份返回空白的问题
问题根源
你使用的SELECTEDVALUE函数仅在单选年份时返回选中的具体值,当多选年份时,该函数会返回空白,导致过滤条件中的比较逻辑失效,最终度量值返回空白。
修改方案
根据你的业务需求,可选择以下两种修改方式:
方案1:对每个选中的年份分别计算并汇总
如果需要统计每个选中年份各自对应的符合条件的记录总数(同一条记录符合多个年份条件时会被重复计数),可以用SUMX遍历所有选中的年份,逐个计算后求和:
SUMX( VALUES(table[Fiscal_Year]), -- 获取当前选中的所有年份集合 CALCULATE( COUNT(table[id]), FILTER( ALLEXCEPT(table, table[office]), table[Fiscal_Year] < EARLIER(table[Fiscal_Year]) && (table[Fiscal_Year_Closed] = BLANK() || table[Fiscal_Year_Closed] >= EARLIER(table[Fiscal_Year])) ) ) )
方案2:基于选中年份的极值计算
如果你的需求是统计满足「Fiscal_Year小于选中年份中的最大值」且「关闭年份为空或大于等于选中年份中的最小值」的记录,可直接用MAX和MIN替换SELECTEDVALUE:
CALCULATE( COUNT(table[id]), FILTER( ALLEXCEPT(table, table[office]), table[Fiscal_Year] < MAX(table[Fiscal_Year]) && (table[Fiscal_Year_Closed] = BLANK() || table[Fiscal_Year_Closed] >= MIN(table[Fiscal_Year])) ) )
关键说明
VALUES(table[Fiscal_Year])会提取当前筛选上下文下所有选中的年份,确保多选时能获取完整的选中集合。EARLIER(table[Fiscal_Year])用于引用SUMX循环中当前迭代的年份值,替代原逻辑中SELECTEDVALUE的作用。
内容的提问来源于stack exchange,提问作者user19840753
相关产品推荐
相关产品推荐

