例如。我在Framework Manager中基于数据库创建了一个项目。我也基于此FM创建了报告。 一段时间后,如果我的数据库中有任何更改(更新)。 是否可以在数据库数据更改或更新时自动更新FM 我们可以通过一些脚本或方法来实现这个目的。 我们可以在多大程度上自动更新或修改。 请给我一些解决方案......
答案 0 :(得分:1)
如果数据只是在数据库表中更新 - 您无需执行任何操作,Cognos将在您下次运行报表时进行更改。有一个缓存级别,所以如果你想要“实时”数据 - 在报告中打开查询级别的本地缓存。
如果要在出现新列/表时更新FM模型结构 - 您可以生成XML更新脚本(它们是人类可读的)并运行BMTScriptPlayer以将更改应用于您的模型/包。
有关更新FM型号的一些链接: http://www-01.ibm.com/support/docview.wss?uid=swg21335529 https://www.ibm.com/developerworks/community/blogs/0a7c97bb-6cf9-4ddb-a918-80994e7b444d/entry/framework_manager_automation6?lang=en
答案 1 :(得分:0)
没有内置方法可以自动执行此操作。但是,我已经看到了一个程序,用于帮助添加属性或维度的情况。它将需要数据库中的某种元数据表,其中包含新的/更改的列。然后必须编写一个程序来读取model.xml文件(可以用任何语言编写,但像Java或Python这样的东西有很多内置的XML解析方法),将它与所述元数据表进行比较,并更改模型。然后通过SDK调用完成发布。我看到的程序是必需的,因为它是一个OEM产品,其中Cognos被用在5NF数据库之上。写作真的很复杂,技术上仍然没有完全自动化。
答案 2 :(得分:0)
如果删除或重命名列会发生什么?如果表格的基数发生变化会怎样?你需要一个人来做这件事。如果您需要不断向FM模型添加列,则意味着可能存在设计问题(即表中的交叉数据)