提取多个Cognos报告定义

时间:2016-12-22 09:37:30

标签: cognos

在COGNOS中,是否有办法从文件夹中的多个报告中获取定义(过滤器,选定字段)?

我已经继承了一个文件夹中定义的大约500个报告,所有这些报告都需要检查并修复,因为它们有业务错误(不是技术错误)。如果可以在单个提取中获取所有定义,这将节省大量时间,必须多次单击以逐个从每个报告中获取该信息。

在ACCESS中,这可以通过VBA(用于查询定义)来完成,但我不确定是否有可以与COGNOS一起使用的脚本语言来实现类似的结果。

2 个答案:

答案 0 :(得分:1)

听起来您可能想要“验证”这500个报告中的每一个(实际上相当于在每个报告上按下“验证”按钮,如果它在创作工作室中打开)。

验证将确保报表规范XML在语法上仍然正确,引用仍然存在内容存储的包,仅引用该包中仍存在的查询项,生成有效的SQL与基础数据源等。 / p>

如果您正在寻找,那么对所有500个报告进行批量验证的简单方法就是使用MotioPI(它是Cognos的免费管理工具)。这是一篇简短的文章,引导您完成整个过程:

http://info.motio.com/Blog/bid/70357/Batch-Validation-of-Cognos-Reports

如果您想要为这500个对象中的每个对象检索实际报告规范(XML),那么您需要编写一个程序,该程序利用Cognos SDK从500个报告对象中的每个对象中检索规范XML 。之后,您需要添加逻辑来检查这500个XML文档中的每一个,寻找您正在寻找的任何内容。

答案 1 :(得分:0)

我们通过在内容存储库上使用SQL查询导出报告的XML解决了这一问题。 使用Python脚本处理输出,以将XML转换为CSV格式的表布局。 此CSV文件可以轻松导入Excel。

您可能想使用xmltable函数直接在SQL查询中处理报告XML。在我们的情况下,事实证明这是一个繁重的过程,我们不想为内容存储数据库增加负担。不过,对于少量报告来说,它工作正常。