现在的位置: 首页 > 综合 > 正文

【cognos】转 增量刷新cube2

2013年01月02日 ⁄ 综合 ⁄ 共 1046字 ⁄ 字号 评论关闭

http://www.cognoschina.net/?action-blogdetail-uid-5399-id-1108

 

Cognos7.3CubeUnix环境下究竟能不能增量刷新?这是一直困扰着我们的问题。一直实现不了,到底是这个版本不支持这个功能,还是其它的原因呢?咨询IBM的技术人员也得不到明确的答复。现在这一问题再次被提出来,由我负责跟进。

跟进?应该怎么跟进呢?IBM的技术人员都不清楚我又应该怎么做呢?很是没底……。虽然有IBM技术人员的联系方式,但我也没有联系他,因为觉得都已经问过了,不清楚就是不清楚,而且我感觉增量刷新是应该可以才对的,可能是开发过程的某环节出现了问题。从这一观点出发,上网找资料,找到些也是关于Unix环境下Cube增量刷新的问题,不过人家的是部分报表可以,部分不可以,这也就证明了“Cognos7.3CubeUnix环境下是可以增量刷新”。

如果是可以增量的,我们做出来的不行,那就是开发的问题了。一步步找原因。

首先,在Windows下测试增量刷新,结果完全可行。

然后,将建好的模型上传到Unix中,用命令执行,结果不可行。到底是什么原因呢?查看日志,错误原因的意思大概是“上次模型刷新Cube后没有进行保存”。应该怎么样进行保存呢?莫非是脚本写的不对?由于在Unix上刷新,都是通过脚本来执行的,问题出在脚本的可能性很高,因为之前执行脚本时就遇到过很多的问题。在经过大量的反复的测试下,终于看到了激动人心的一幕:出现了新增月份的数据;这可是标志着增量刷新的成功呀。查看日志,果然“ExitàOK”。Oh yeah

终于找到了cognos增量刷新的问题,一切都是执行脚本的原因。

首先CUBE的刷新可分为全量刷新及增量刷新,我们之前所用的全部都是全量刷新,脚本当然也是针对全量来写的(不过写得让我这种对Unix不咋懂的人模糊了好久)。现在要实现增量刷新就要用增量的脚本来执行而不能混为一谈。MDL是只能进行全量刷新的,增量刷新只能用PYI,且IQD所引用的表要是增量表,即表中的数据只能包括当前要新增到Cube中的数据,否则会进行累加。在进行增量时,一般的做法是:首先将MDL转为PYI,同时进行一次全量刷新;以后的增量刷新对PYI执行就可以了。

还有一个问题就是,如果真的要采用增量刷新的话,就要准备两套表(一全数据表,一增量表即临时表),两套立方体模型(因为度量IDQ所取的表不同,分别对应两套不同的表)。这对于刚刚开发完的项目存在一定的挑战性。

抱歉!评论已关闭.