IcCube Reporting V8多表头透视表:条件颜色设置的列识别问题
在IcCube Reporting V8中多表头透视表获取完整列名的方法
要在多表头层级下获取完整列标识以设置条件颜色,你可以尝试以下几种实用方法:
1. 直接使用$_currentColumn.fullName$变量
这个变量会返回包含所有表头层级的完整列名,格式通常用逗号分隔各层级(例如Interventions, 2019),正好匹配你需要的完整列标识。在条件颜色的表达式里直接用它判断即可,示例代码:
return $_currentColumn.fullName$ === "Interventions, 2019" ? "#2ecc71" : "";
2. 手动拼接层级名称
如果fullName的默认格式不符合需求,你可以遍历列的层级结构手动拼接名称:
var nameParts = []; var currentLevel = $_currentColumn$; // 遍历所有父层级,收集名称 while (currentLevel) { nameParts.push(currentLevel.mdxName$); currentLevel = currentLevel.parent$; } // 反转数组得到从上到下的完整列名 var fullColumnName = nameParts.reverse().join("/"); // 这里用"/"分隔,可根据你的表头格式调整分隔符 return fullColumnName === "Interventions/Evolution" ? "#e74c3c" : "";
3. 用唯一标识符精准匹配
如果存在列名重复的情况,建议使用$_currentColumn.uniqueName$,它返回MDX格式的唯一列标识(例如[Measures].[Interventions].[2019]),避免名称冲突导致判断错误:
return $_currentColumn.uniqueName$ === "[Measures].[Interventions].[2019]" ? "#f1c40f" : "";
内容的提问来源于stack exchange,提问作者Bertrand Miot
相关产品推荐
相关产品推荐

