银行Cognos Transformer模型开发手册.docx
《银行Cognos Transformer模型开发手册.docx》由会员分享,可在线阅读,更多相关《银行Cognos Transformer模型开发手册.docx(24页珍藏版)》请在冰豆网上搜索。
银行CognosTransformer模型开发手册
##银行CognosTransformer模型开发手册
修改记录
编号
日期
描述
版本
作者
审核
发布日期
1
2007-07-01
初稿
V1.0
RTAOTeam
2
目录
1.前言3
1.1.编写目的3
1.2.参考文档3
1.3.预期读者3
1.4.术语定义3
2.PowerPlayTransformer模型开发手册4
2.1.PowerPlayTransformer功能简介4
2.2.Transformer界面简介4
2.3.建立模型设计的方法5
2.4.制作IQD文件6
2.5.建立多维模型8
2.5.1.定义数据源连接8
2.5.2.添加数据源9
2.5.3.添加Measure度量11
2.5.4.建立层次维11
2.6.模型的一些属性说明和设置14
2.6.1.Numeric型Column的设置14
2.6.2.Rollup设置16
2.6.3.设置数值的格式16
2.6.4.添加Cube文件17
2.6.5.维度内容显示配置19
2.7.运行模型生成Cube20
2.8.Cube的权限设置21
2.8.1.导入角色21
2.8.2.权限设计23
2.9.Cube增量更新25
2.10.模型打包发布25
1.前言
1.1.编写目的
《中国##银行CognosTransformer模型开发手册》是CognosTransformer模型设计的操作手册,包括了Transformer模型设计的基本方法和一些使用技巧,为建行CognosTransformer模型开发和设计人员提供参考和指导。
1.2.参考文档
《中国##银行Cognos报表开发交付规范》
Cognos的帮助文档
1.3.预期读者
⏹Transformer模型设计人员
⏹Transformer模型开发人员
1.4.术语定义
2.PowerPlayTransformer模型开发手册
2.1.PowerPlayTransformer功能简介
PowerPlayTransformer(以下简称Transformer)是Cognos8中一个重要的组件,也是一个OLAP服务器,主要用来创建模型,帮助你组织数据,将不同数据源的数据整合到PowerCube当中,形成多维数据源。
而根据生成好的PowerCube模型,AnalysisStudio便可在此基础上各种报表,比较数据和发现业务发展趋势。
Transfomer模型能够帮助将数据从各种数据源组织进多维的PowerCube中,创建能够比较数据和发现趋势的报表。
在用Transfomer建立模型之前,首先要评测数据,以及确定如何构造它们,以使它们能够支持业务分析的类型;然后用Transfomer构造创建数据的模型;最后生成一个PowerCube,让用户通过AnalysisStudio直接查看和应用其中的数据。
2.2.Transformer界面简介
Transformer界面包括以下四个基本窗格:
⏹数据源(DataSources)窗格
数据源窗格的作用是将数据集成到模型中来。
根据模型设计文档,从能够支持应用的数据仓库及数据库中确定要查询哪些数据,并将它们加载进数据源窗格。
然后再将数据源窗格的数据用于建立维度图,并创建PowerCube。
在数据源窗格中可以有一个或多个数据源,每个数据源来自于一个数据源文件(例如.iqd等),每个数据源都有自己的数据源名。
每个数据源由构成它的若干列(Columns)组成。
这是做模型的原始基本素材。
数据源窗格中列的数据类型:
打开列的属性(双击列名)--General标签页--Dataclass
如果数据源不是来源于.iqd,则它的列的数据类型开始为Unspecified(未指定)。
⏹维度图(DimensionMap)窗格
维度图窗格是一个用于建立多维立方体结构的工作区。
根据数据源中的文本数据,各个维度以及每个维度下层的设定在此组织(维度和层)。
最底层要对应数据源窗格中的一个列。
⏹度量(Measures)窗格
度量窗格用于建立和显示模型所需要的度量。
度量值是在PowerPlay报表单元中可视的数据。
根据模型设计文档,定义应用中需要的度量。
模型中至少要有一个度量,度量与维度的最底一层关联。
每个标准度量要在数据源中对应有一个列(计算度量除外)。
⏹PowerCube窗格
PowerCube窗格显示用模型创建的PowerCube。
2.3.建立模型设计的方法
建立模型设计时,应首先选择度量,然后选择能够支持度量的维度和层。
作模型设计时,选好要说明的业务领域:
1)选定能够说明业务领域关键成功因素的度量指标;
2)确定能够准确地反映数据等级结构的层。
为了使应用导航比较快速和易于操作,尽量保持每个维度中的层数不超过5层。
3)选择的维度与度量要匹配。
推荐维度数尽量保持在5~7个,因为较少的维度可以使得应用几乎更直观和易于使用。
在生成PowerCube前,在Transfomer模型中必须完成:
1)集成数据源数据
2)建立维度图
3)定义需求的度量
建立模型的一般流程:
2.4.制作IQD文件
IQD文件用于在多维模型中组织数据源,实际的作用就是将所需要的维表和事实表从数据库中读出来,成为生成Cube的数据来源。
根据以往的经验,虽然IQD文件中可以手写较为复杂的SQL语句,但如果是事实表IQD不建议这样做,IQD文件中最好只有简单的SELECT语句,这样不至于影响效率。
可以通过一个IQD的模版手工编写IDQ文件:
a)第1、2行是固定语句
b)第3行指明了到数据库的逻辑连接名
c)第4行实际是表名
d)从第5行到第8行是IQD中的查询语句主体
e)从第9行到结束是对查询出来的每个字段的申明
以上皆为固定格式
也可通过Framework生成IQD文件,避免手写的劳动。
由软件自动完成,可以避免出错的可能性:
1、首先把查询对象的属性修改成iqd
2、然后发布模型时把下面的选项的勾打上,并且设置好存放iqd脚本的路径如下图:
2.5.建立多维模型
2.5.1.定义数据源连接
使用IQD作为多维模型的数据源首先要在Cognos安装路径下的Cognos.ini文件中正确定义到数据库的连接,连接字符串可以从Cognos的Portal上获得。
打开Cognos.ini(Cognoscs7g.ini)文件,在文件内容后面添加逻辑数据源名称及”=”符号,然后把连接字符串拷入。
2.5.2.添加数据源
配置好数据源连接后,添加IQD文件作为多维模型的数据源:
点击菜单上的“NEW”按钮新建一个模型,输入模型名称和数据源名称后,在“Datasourcetype”中选择“Impromptuquerydefinition”,即IQD类型。
接着输入IQD的文件目录和名称。
所添加的IQD文件,通常可以分为维表IQD和事实表IQD:
Ø维表IQD实际上就是对维表的查询语句,用来建立多维模型的维度,实际上就是搭出多维模型的架子。
Ø事实表IQD给出的就是多维模型中最细粒度的数据,实际上就是给多维模型中的Measures提供数值。
目前已经在实践中证明最不易出问题的做法就是:
在维表中进行逐级分层,在事实表中给出维表中最细一层的明细数据,以事实表自动关联维表的最底层来生成Cube。
此种开发,生成Cube的效率瓶颈主要会出现在事实表数据的生成阶段,因为事实表要满足多维模型的话就必须给出模型中所有维度的最明细数据,这需进行一系列数据抽取以及转换的过程。
生成事实表所消耗的时间取决于数据量的大小和进行数据抽取转换运算的复杂程度。
然后点击下一步,在弹出的框中要求输入数据库的登录用户名和密码。
最后点击完成。
添加IQD文件作为数据源后,双击IQD中的列便可以看到列的属性
2.5.3.添加Measure度量
直接将事实表IQD中的度量拖到“Measure”窗格。
多维模型中的Measure就来源于事实表IQD中的Numeric型Column。
维表和事实表在多维模型中能够自动正确关联的保证:
维表的最低层字段名和事实表的维度字段名一致,事实表IQD放在所有维表IQD之后。
2.5.4.建立层次维
导入数据源和建立好度量后,建立模型的层次维:
将数据源窗格中维表的字段拖到维度图窗格,以机构为例,先将一级编码拖到维度图窗格的阴影部分,再将二级编码拖到一级编码的先面,如此类推,从高层次到低层次往下拖。
最后便生成一个层次结构的维。
对于日期维,把事实表中的日期字段直接拖入维度图窗格,Transformer会自动生成一个层次结构的维。
拖入之后我们看到自动生成的层次维最小到月,可以右键点击自动生成的日期维,选择其中的“InsertLevel“添加日层次,在弹出的框的“source”中点击source的Datasourcetype,在弹出的框中选择事实表的日期字段,点击确定。
然后在“Time”的日期函数中我们选择“day”。
最后点击确定。
可以看到日的层次便生成了。
2.6.模型的一些属性说明和设置
2.6.1.Numeric型Column的设置
对空值的特殊设置:
如果原数据库中数据为空或者纬度组合所对应的数据为空,通过设置missingvalue可以选择显示为空或者为‘0’:
数值输出倍数及精度设置:
之所以会有数值输出倍数及精度设置有如下原因:
Cube生成中由于整型数据的运算效率比浮点型要高,所以输入数值会被根据其小数位数自动进行放大为整数,而作为运算结果输入到Cube时则会被恢复回原来的值,也就是缩小相应的倍数,OutputScale=2,就是乘以0.01,Precision=2就是精确到小数点后两位。
对于Numeric型Column的聚合运算:
根据度量的业务含义进行控制,如果度量是按时间维度进行聚合的话如余额度量,就要在timestaterollup中配置“lastpriod”。
如果是发生额就要在regularrollup中选择deflautsum:
2.6.2.Rollup设置
Regularrollup:
用于定义在普通维度上进行聚合的运算。
TimeStaterollup:
用于定义在时间维度上的聚合运算,如果选择none(regularrollup)则在时间维度上是汇总。
2.6.3.设置数值的格式
对数据的显示格式进行设置。
2.6.4.添加Cube文件
右键点击Powercube窗格,选择“InsertPowerCube”。
添加Cube文件后的主要设置:
选择cube文件在本地保存的路径
如果是在本地生成cube,要在processing里面选择“locally”;如果cube是要在服务器上生成的话,就要选择“ontheserver”。
增量更新Cube需要的额外设置:
在插入cube后,要在cubegroup里面配置dimension及level
进行自动关联所需要的配置——Unique:
注意:
我们在维属性框里可以看到(上图),Source表示该层次的来源,一般选择ID号。
这里还有个Label标签,我们选择该ID对应的name,作为显示时的名字。
2.6.5.维度内容显示配置
选择alwaysinclude表示在生成cube的时候,事实表和纬表里面的纬度数据都会存在。
选择whenneeded表示只有事实表里面纬度存在的数据在生成cube的时候才会存在。
2.7.运行模型生成Cube
在Windows客户端上生成Cube:
在UNIX系统上生成Cube的命令:
Rsserver–c–mcubename.mdl
Rsserver–c–pcubename.pyi
在UNIX系统上将MDL文件转换为PYI的命令:
Rsserver–mcubename.mdl–scubename.pyi(增量更新的cube需要将模型装换成pyi格式,才能正常进行更新。
因为在unix增量更新的过程中系统会自动打上时间戳,mdl不支持,pyi支持)
在UNIX下,建议使用PYI文件来生成Cube,因为PYI是编译过的模型文件,打开较快,另外,生成Cube过程中,维度中的内容会被保留到模型文件中,对于要保留历史维度信息的模型文件就需要这么做。
而mdl在unix因为只能做全量更新,所以无法保留历史数据
为了能够在UNIX服务器上正常运行模型文件生成Cube,需要早用户配置文件中添加的变量:
##PPES
COGNOS_HOME=/home/cognos81/cer4/bin;exportCOGNOS_HOME
##MDC生成路径
ModelWorkDirectory=/home/cognos81/report/mdlwork;exportModelWorkDirectory
DataSourceDirectory=/home/cognos81/report/iqd;exportDataSourceDirectory
DataWorkDirectory=/home/cognos81/report/temp;exportDataWorkDirectory
CubeSaveDirectory=/home/cognos81/report/mdc;exportCubeSaveDirectory
ModelSaveDirectory=/home/cognos81/report/mdl;exportModelSaveDirectory
LogFileDirectory=/home/cognos81/report/log;exportLogFileDirectory
LogDetailLevel=4;exportLogDetailLevel
2.8.Cube的权限设置
Cube或者报表都需要进行权限的设置。
Cube的权限配置步骤如下:
2.8.1.导入角色
1、点击powerpyaytransformer的file后选择modelproperties。
如下图:
2、选择authentication后,选择认证的名称空间并且把下面的第一项打上钩。
如下图:
3、把角色从userclasses对话框把角色拖到cube对话框。
如下图:
2.8.2.权限设计
我一般只需要对机构维表进行权限的设置。
1、选中维度窗口后,选择showdiagram。
如下图:
2、选择showdiagram后会出现以下界面;
3、选择userclasses,并且展现角色,然后选择usecustomvier。
如下图:
4、选择usecustomview后就可以对该维表进行权限设置。
选择你要去掉的机构(该角色的用户不应该看到机构)后,选择差×。
就可以啦。
如下图:
2.9.Cube增量更新
2.10.模型打包发布
使用Framework发布CUBE模型。
发布CUBE前必须先建立到CUBE数据源的连接。
在建立数据源连接时我们选择“CognosPowercube”类型的数据源。
接着输入CUBE立方体文件的存放路径及访问密码。
最后测试,测试成功能点击确定。
成功建立好CUBE数据源连接后在Framework建立模型时选择该连接,在选择“RunMetadataWizard”时看到CUBE数据源。
然后打包发布。
1.createcube;
2.createaconnectiontocube,specifythelocationofthecubefile;
3.createapackageandpublish.
4.