Power BI矩阵展开后条件格式(背景色)失效问题(2025年5月桌面版)
Power BI二级矩阵展开后最大值高亮失效修复
场景说明
- 使用Power BI 2025年5月桌面版搭建二级矩阵:
- 行字段层级:
LHN(一级)→Site(二级,点击「+」展开显示) - 值区域:度量值
$ Δ(上期变动值) - 需求:通过条件格式→单元格元素→背景色,始终高亮全局唯一的最大值
- 问题:矩阵折叠(仅显示LHN汇总)时高亮正常,展开Site后高亮效果消失
- 行字段层级:
原条件格式度量值
$ Δ – Color (MAX only) = VAR _val = [$ Δ] VAR _base = ALLSELECTED ( 'Site Profile' ) VAR _sites = CALCULATETABLE ( VALUES ( 'Site Profile'[Site] ), _base, REMOVEFILTERS ( 'Site Profile'[LHN] ), REMOVEFILTERS ( 'Site Profile'[Site] )) VAR _lhns = CALCULATETABLE ( VALUES ( 'Site Profile'[LHN] ), _base, REMOVEFILTERS ( 'Site Profile'[LHN] ), REMOVEFILTERS ( 'Site Profile'[Site] )) VAR _maxv = MAXX ( _lhns, CALCULATE ( [$ Δ], REMOVEFILTERS ( 'Site Profile'[Site] ), TREATAS ( _sites, 'Site Profile'[Site] ))) RETURN IF ( ISBLANK ( _val ) || ISBLANK ( _maxv ), BLANK (), IF ( _val = _maxv, "#E53935", BLANK () ))
问题根源
原代码仅计算了LHN汇总层级的最大值,当矩阵展开到Site明细行时,当前上下文是单个Site的数值,无法与LHN汇总的最大值匹配,导致高亮逻辑不触发。
修复方案:全局最大值计算
调整度量值,让它计算**所有可见行(包括LHN汇总和Site明细)**中的最大值,无论矩阵处于折叠还是展开状态,都能匹配当前值:
$ Δ – Color (MAX only) = VAR _currentVal = [$ Δ] // 生成所有可见行的LHN、Site及其对应的$ Δ值 VAR _allVisibleRows = CALCULATETABLE ( ADDCOLUMNS ( SUMMARIZE ( 'Site Profile', 'Site Profile'[LHN], 'Site Profile'[Site] ), "@Delta", [$ Δ] ), ALLSELECTED () // 保留页面级筛选器的影响 ) // 提取全局最大值 VAR _globalMax = MAXX ( _allVisibleRows, [@Delta] ) RETURN IF ( ISBLANK ( _currentVal ) || ISBLANK ( _globalMax ), BLANK (), IF ( _currentVal = _globalMax, "#E53935", BLANK () ) )
效果验证
- 折叠状态:正确高亮LHN层级的最大值
- 展开状态:正确高亮所有行(LHN汇总+Site明细)中的最大值
原效果截图
- 矩阵折叠时生效:

- 矩阵展开时失效:

内容的提问来源于stack exchange,提问作者Michal
相关产品推荐
相关产品推荐

