Oracle BI Publiser实现判断模版与数据是否匹配并输出

业务有一个的需求,在ORACLE BI Publisher Enterprise系统(后面简称BIP)中对于指定的一张报表需要实现这样的功能,该报表主要查询“加盟”、“直营”两种类型的数据,在查询参数中设置有“门店类型”的选择条件用来选择是“加盟”还是“直营”,同时,该报表也有“加盟模版”、“直营模版”这两个模版,那么,如果数据类型和模版类型不匹配的时候,就提示“模版选择错误”,只有当数据类型和模版类型一致时,才正确的输出报表。

数据模版与数据类型匹配方能输出

图1:数据模版与数据类型匹配方能输出

对于上面这个功能,为了测试,下面简化了下功能,“测试”条件可以选择“是”、“否”,选择“是”传值“Y”,选择“否”则传值“N”,数据模版这里就只用一个“加盟”模版作为测试,只有当“测试”条件选择“是”的时候,才正确输出,否则当“测试”条件为“否”的时候,就提示“模版选择错误”。

对于以上简化功能的实现,可以利用如下方法:

数据模型中设置测试条件参数

图2:数据模型中设置测试条件参数

(1)首先在报表的“数据模型”中增加那个“测试”条件参数的设置,以及放到SQL查询中,并且在数据输出结构中设置好,以便于XML文件能够输出该参数,大概如上图2所示。

修改RTF模版

图3:修改RTF模版

(2)数据做好了上面的处理以后,下面要处理的就是RTF模版了,在RTF的相应位置做如上图3所示的处理,主要就是用到<?if: ?><?end if?>这种语句,根据上面操作功能基本可以实现。需要注意的是,TEST的获得要根据所在的group层级来做出相应的修改,可以参考下博客中《BI Publiser报表开发中的路径、层级问题》这篇文章。RTF中支持的语法还是挺多的,我会在后面的文章中逐步总结。

本文标题:Oracle BI Publiser实现判断模版与数据是否匹配并输出

本文链接:http://yedward.net/?id=145

本文版权归作者所有,欢迎转载,转载请以文字链接的形式注明文章出处。

相关文章