OBIEE中基于行度量标签实现特定单元格值显示控制的技术咨询
在OBIEE中实现行度量的条件显示(仅对应列展示数值)
嘿,我来帮你搞定OBIEE里这个行度量重复显示的问题!你想要的那种“对应行只在对应列显示数值”的效果,靠条件格式化确实搞不定,得用计算列来实现,原理和你写的伪代码逻辑完全一致,我给你一步步讲怎么操作:
核心思路
我们要创建两个计算列,分别判断当前行的度量标签,只在匹配的列显示对应度量的数值,否则显示为空(NULL)。
步骤1:确认行度量的标识列
首先,你得确认报表里用来区分两行度量的那个列——如果是通过OBIEE的「添加行度量」功能(把度量拖到行区域),系统会自动生成一个默认名为Measure的列,里面的取值就是ITD Funds Received和ITD Actual Cost这两个标签。这个列必须存在(不需要显示的话可以隐藏,但计算列要引用它)。
步骤2:创建「显示Funds Received」的计算列
- 在分析的「列」标签页,点击「新建计算列」
- 给计算列命名,比如
Display ITD Funds Received - 输入以下公式(记得替换成你自己的主题区域、文件夹名称):
CASE WHEN "你的主题区域"."度量文件夹"."Measure" = 'ITD Funds Received' THEN "你的主题区域"."度量文件夹"."ITD Funds Received" ELSE NULL END
- 这里的
"Measure"就是系统自动生成的行度量标识列,如果你的标识列名称不一样,替换成对应的名字就行 NULL在OBIEE里会显示为空,如果你想显示空白文本,可以把NULL换成''
步骤3:创建「显示Actual Cost」的计算列
用同样的方法新建第二个计算列,命名比如Display ITD Actual Cost,公式如下:
CASE WHEN "你的主题区域"."度量文件夹"."Measure" = 'ITD Actual Cost' THEN "你的主题区域"."度量文件夹"."ITD Actual Cost" ELSE NULL END
步骤4:替换原有列并调整显示
把报表里原来的ITD Funds Received和ITD Actual Cost列删掉,换成刚创建的两个计算列。如果不想显示那个Measure标识列,在「布局」标签页里把它隐藏掉就行。
这样设置之后,报表就会完全符合你的预期:
- 当行标签是
ITD Funds Received时,只有Funds Received列显示数值,Actual Cost列为空 - 当行标签是
ITD Actual Cost时,只有Actual Cost列显示数值,Funds Received列为空
内容的提问来源于stack exchange,提问作者user7897422
相关产品推荐
相关产品推荐

