Cube 增量更新及bat定时计划

浏览: 4011

  有时候我们在遇到很大的数据量时,就不得不考虑用增量刷cube,对于初学者,可能会有很多迷茫,下面是我学习cube增量更新的一点心得体会,

  总结出来和大家分享下

方法一:按照天刷新

this cube is incrementally updated

processing里面的this cubeis incrementally updated 增量更新,这个是更新昨天的数据,如下图所示

Clipboard Image.png

双击打开测试立方体,选中this cube is incrementally updated这个按钮,这种增量更新方式,需要在iqd提供增量内容,例如我们在iqdwhere加上这上这句(registration_date是查询日期Where to_char(registration_date,'yyyymmdd')=to_char(SYSDATE-1,'yyyymmdd')意思就是按照registration_date取昨天的数据,即提供昨天的增量数据,但是如果我们修改了前天,或者一个星期前的数据,而registration_date时间又不会随修改时间去变化,这时候我们的数据就不准确了。下面我就介绍一下另一种解决这种问题的方法。

方法二:按照时间段刷新

Cube group

这种方法适用于,更新某一段时间(或其他维度),

如果我们2014年以前的数据基本是固定不变的,我们想要每天都只更新2015年的数据,这时候我们就可以用cube group这种方式更新。

Clipboard Image.png

图中所示是按照查询日期更新的,有时候我们做的transform会有多个日期,再建cube group时会有问题,其他日期我们在写iqd时要写成下图的格式。

Clipboard Image.png

生成好cube后,会出现这些文件

Clipboard Image.png

打开测试文件夹,里面是按照年来划分的mdc文件

Clipboard Image.png

下次更新时,我们在iqdwhere条件中加上一句

where to_char(registration_date,'yyyymmdd')between '20150101' and '20151231',意思是取2015年的数据,再手动的删除(做bat文件可以自动删除,看标题3)’20150101-20151231’mdc文件,然后点击生成cube,就会重新生成2015年的数据,2015年以前的数据不变。

三.做bat文件

如果我们需要自动刷新cube,就需要做一个bat文件,在做bat文件之前我们需要把transform—— view——signons,设置成不需要输入密码,如下

Clipboard Image.png

bat文件如下

1. C:\Windows\System32\taskkill /f /imBIBusTKServerMain.exe这句是杀掉使用cognos的进程(建议用电脑管理员账户登录,普通账户会出现杀不掉进程的情况)

2.del E:\transform\cube\测试\20150101-20151231.mdc这句是删除2015年的数据

3.cd "D:\cognos\c10\bin"这句是进入到cogtr所在的路径

4.cogtr.exe -n2 -s "E:\transform\sampdata\测试.pyj",刷新模型

Clipboard Image.png

四.用bat文件做定时计划

参考http://jingyan.baidu.com/article/d5a880eb4c735813f147ccd3.html

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

5 个评论

写的不错,后面可以把排版做的漂亮点。这样别人阅读起来,有目录结构,清晰易懂,慢慢来。
收藏啊。。最近研究管理这块,等我研究差不多啊,也给大家分享下。
对于初学者,可能会有很多迷茫,……我表示还有点迷茫,因为我不用IQD的,bat的方法讲的比较多,不过谢谢分享喽
谢谢勇哥指导,等我遇到下个问题总结的时候,好好排版
我现在使用Cognos10.2.1,统计日期分区增量刷cube,但是每个月增量有2亿数据量,在Linux服务器上刷cube时,一段时间后进程死掉了,没有报错信息,烦请问这是为什么?怎么解决呢?

要回复文章请先登录注册