Power BI中动态条件筛选表后度量值返回结果异常问题求解
问题根因
原有公式的计算逻辑受视觉对象的Type列筛选器干扰:当你在卡片上筛选Type=B时,内层MAX函数只会在Type=B的数据集范围内计算最大年、最大月,得到的结果是2021年1月,因此返回了1月的Type B数值,没有取到全局的最新年月。
修正后的DAX公式
最新月份值 = // 计算全局最新年份,不受当前Type筛选影响 VAR LatestYear = CALCULATE(MAX(DW_XYZ[Year]), REMOVEFILTERS(DW_XYZ[Type])) // 计算最新年份下的全局最大月份,不受Type筛选影响 VAR LatestMonth = CALCULATE(MAX(DW_XYZ[Month]), REMOVEFILTERS(DW_XYZ[Type]), DW_XYZ[Year] = LatestYear) // 按最新年月筛选求和,空值自动转0 VAR Result = CALCULATE(SUM(DW_XYZ[Value]), DW_XYZ[Year] = LatestYear, DW_XYZ[Month] = LatestMonth) + 0 RETURN Result
逻辑说明
REMOVEFILTERS(DW_XYZ[Type])用于清除Type列的筛选影响,保证计算的是全表的最新年月,而非单个Type分类下的最新年月- 末尾加
+0可以自动将空值转换为0返回,符合空值处理需求 - 拆分变量的写法可读性更高,也方便后续调整逻辑
内容的提问来源于stack exchange,提问作者Nur Holis
相关产品推荐
相关产品推荐

