Report Studio之编辑XML文件一、快速修改钻取目标

浏览: 2849

当项目还处在开发阶段时,许多东西需要修改。比如文件移动,文件夹重命名,甚至有时候需求改变。这常常导致许多新的工作。

假定一张交叉表,在其交叉表交集上设置有指向其他报表的drill-through。钻取的目标报表需要接收许多参数,并且参数的映射关系已经被设置了。然而,因为一些需求改变,从交叉表交集的钻取链接需要指向另外的报表,并且目标报表已经开发完成用来接收相同的参数。我们仅仅需要修改主报表中的目标即可。

此例中,我们一起研究如何快速修改drill-through定义的目标报表,而不用重新设置参数映射。

 

准备工作…

 

创建如图所示的交叉表,并将其命名为‘5.1 Drill from crosstab intersection’。

在交叉表交集上创建一个指向一张列表的传递多个值的drill-through链接。目标列表如下图。将此列表命名为‘5.1 Drill from crosstab intersection Drill 2’。

将此列表另存为‘5.1 Drill from crosstab intersection Drill 1’,此时,文件夹结构看起来如下图:

下面我们将一起研究如何通过修改报表的XML文件修改报表的钻取目标,将目标报表从Drill 2修改为Drill 1。

 

如何实施…

 

1. 在Report Studio打开主报表。

2. 解锁报表,选中交叉表交集,点击工具栏中的‘drill-through’按钮,检查钻取目标。

注意钻取的目标为5.1 Drill from crosstab intersection Drill 2,传递了两个参数名为Month和OrderMethod。

3. 关闭对话框。从菜单栏中选择Tools | Copy Report to Clipboard。此操作将报表的XML文档到剪贴板。

4. 打开一个XML编辑器,将剪贴板中的XML文本复制到其中。

5. 转到Cognos Connection,点击报表5.1 Drill from Crosstab intersection Drill 1的Properties按钮。

6. 点击View the search path,ID and URL链接

7. 一个如下图所示的对话框会弹出,选中Search path内容,并复制。

8. 转到复制有报表XML文件的编辑器,查找文档中所有含有‘5.1 Drill from crossab intersection Drill 2’的报表链接,并将其替换为‘5.1 Drill from crossab intersection Drill 1’。具体为:

'/content/package[@name='GO Data Warehouse (query)']/folder[@name='Chapter 5']/report[@name='5.1 Drill from crossab intersection Drill 2']'

替换为:

'/content/package[@name='GO Data Warehouse (query)']/folder[@name='Chapter 5']/report[@name='5.1 Drill from crossab intersection Drill 1']'

9. 复制整个XML文档到剪贴板。

10. 转到Report Studio,从菜单栏中选择Tools | Open Report from Clipboard。

11. 再次检查报表的钻取链接,现在应当指向‘5.1 Drill from crossab intersection Drill 1’,并且参数已经被正确的映射了。

12. 保存报表为主报表。

 

工作原理…

 

在Report Studio中,如果我们修改存在的drill-through定义中的目标报表,那么同时我们需要重定义报表参数映射。此例中使用的技巧就不需要重定义报表参数映射。

此例,我们不是直接修改drill-through定义,而是修改报表的XML文档。当我们将报表复制到剪贴板时,报表的XML文档被复制了。然后我们在编辑器中编辑此XML文件,将XML文档中的报表引用路径替换为需要的路径。

最后,复制修改后的XML文件到Report Studio中。此时发现,钻取链接已经被正确修改了,并且参数映射还正确的保留。

 

更多…

 

这里建议大家使用XML编辑器,而不是使用文本编辑器。因为专业的XML编辑器可以让我们更好的理解XML 文档的标签,这就降低了出错的风险。

推荐 0
本文由 zhengyi1943 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册