cognos多维报表制作过程
- 格式:doc
- 大小:3.04 MB
- 文档页数:77
1COGNOS的使用1.1模型定义1,打开Frame Manager程序,如下图:2,新建一个项目,建完后,打开该项目,如下图:3,在界面左边中选择“Packages”,然后单击右键新建一个包。
按照提示一步步做,其中有一步是从数据库的表选所要用到的表,打勾为选用。
4,点击”Diagram”显示表,但表之间还没有建立联接关系,通过建立各表关系后如下图5,然后将该包发布,点击右键该包选择“Publish Package”将其发布。
1.2模型的物理和逻辑定义1,模型定义的规范:将模型分为2个部分,分别为物理层和逻辑层,物理层为从数据源引入表的物理定义和连接关系,逻辑层为业务视角下的逻辑定义。
2,物理层的建立:根据数据分析,设计模型中需创建的物理表,以便尽可能的提高查询语句的运行效率(比较理想的结构是星形结构,一个中间表和多个物理维表)。
在根名字空间(和数据源同名)下,建立一个名为物理层的目录,在物理层文件夹下执行Run Metedate Wizard将数据源中相关的物理表引入这个目录,然后将这些表建立连接关系,建议不要有Orphan表。
如下图:3,逻辑层的定义:在根名字空间下,建立一个名为逻辑层的目录,在逻辑层文件夹下生成Query Subject,Query Subject的字段都是根据业务逻辑从物理层从引入,建议字段名都为中文。
逻辑层中的表为事实表和维表的结构,在事实表中包含维度的编码值和指标的值,维表中包括每个维度上编码值和其名称的对应关系。
也可以根据需要建立Regular Dimension(3.4说明),在逻辑层中不要建立逻辑表之间的关系。
如下图:4,物理层和逻辑层的建立是灵活的,上面说的只是简单的结构,可以根据需要建立多层次的名字空间,不同的名字空间定义不同的物理层和逻辑层。
1.3模型设计的一些技术要点1,首先要了解数据库表的定义和业务需求,以便将报表设计所关联的物理表引入到物理层中。
2,在物理层建立关系要清楚了解表中KEY值的定义和维表与中间表之间的关系,关系中的对应(1对多、多对多)要设置清楚,可以通过察看Determinants来决定,最好咨询数据库设计人员。
1.打开impromptu administrator.2.选择菜单Catalo->open打开数据库连接文件.文件路径为:E:\CSMS-RS-Cognos-Cubes。
选择RSTT.cat。
3.输入数据库连接user/password.4.选择菜单Catalo->table.导入所需的表单。
5.选择菜单File->new.新建Simple List.6.将Catalog Data中选择所需表的字段加入到Query data中。
7.保存IMR文件到指定路径,文件路径为:E:\CSMS-RS-Cognos-Cubes8.另存为IQD文件。
文件路径与IMR文件相同。
9.打开PowerPlay Transfomer.10.选择菜单File->new.新建Model.新建Model name,next11.输入Data source name。
Data source type:Impromptu Query Definition.Next.12.选择IQD文件。
Next.13.选择Finish.输入user/password.14.选择log on打开编辑界面。
打开New Data source窗口。
输入Source table name,选择IQD文件,导入Source data table。
修改Source table 字段。
选择菜单View ->data source viewer.打开SQL 窗口。
Modify,修改Source table SQL.选择OKtable 修改完毕。
入Dimension Map中。
对应时间类型的Dimention,要打开Dimention属性,修改Dimention type:time.可按照需求修改Dimention name等其它属性。
修改Dimention下的各Level的属性,如level Name,Label,Order By等属性。
Cognos多维分析模型设计--transformer一个模型设计是关于Cognos应用结构设计,以及数据需求方案的文档。
其作用是:✧帮助明确用户需求✧帮助评估开发应用需要的工作量✧把应用设计的目标提供给最终用户,以得到对该设计的认可和肯定。
✧作为应用开发过程的指南建立模型设计的方法说明✧作模型设计时,选好要说明的业务领域:✧选定能够说明业务领域关键成功因素的度量指标;✧确定能够准确地反映数据等级结构的层。
为了使应用导航比较快速和易于操作,尽量保持每个维度中的层数不超过5层。
为了保证数据的分析最有意义,最好层到下层的类别数比例在1:10 以内。
✧选择的维度与度量要匹配。
推荐维度数尽量保持在5~7个,因为较少的维度可以使得应用几乎更直观和易于使用。
✧在生成PowerCube前,在Transfomer模型中必须完成:✧集成数据源数据✧建立维度图✧定义需求的度量Transformer中的模型设计Transformer界面包括四个基本窗格:Transformer模型部件之一——数据源窗格✧数据源(Data Sources)窗格的作用是将数据集成到模型中来。
根据模型设计文档,从能够支持应用的数据仓库及数据库中确定要查询哪些数据,并将它们加载进数据源窗格。
然后再将数据源窗格的数据用于建立维度图,并创建PowerCube。
✧在数据源窗格中可以有一个或多个数据源,每个数据源来自于一个数据源文件(例如.iqd等) ,每个数据源都有自己的数据源名。
每个数据源由构成它的若干列(Columns)组成。
这是做模型的原始基本素材。
✧数据源窗格中列的数据类型:✧打开列的属性(双击列名)--General标签页--Data clas✧如果数据源不是来源于.iqd,则它的列的数据类型开始为Unspecified(未指定)。
ransformer模型部件的作用✧维度图窗格是一个用于建立多维立方体结构的工作区。
根据数据源中的文本数据,各个维度以及每个维度下层的设定在此组织(维度和层)。
cognos计划表篇一:coGnoS报表开发流程报表开发a)模块概述B)处理流程和处理逻辑1)处理流程图B)处理逻辑如图:基本的处理流程有三个部分,元数据准备、模型设计、报表设计。
针对本系统的情况,报表的制作分为三类,从cUBE出报表、直接从事实表出报表、从指标出报表。
从制作方式来讲其中直接从事实表出报表、从指标出报表的方法是完全相同的。
首先形成元数据模型描述。
将数据库结构描述成需要的结构,然后将元数据发布到cognos服务器上。
同时cognos的oLaP转换工具通过元数据描述可以将数据库中数据按照业务主题的维度、指标等因素,转换成文件型的多维立方体。
这些多维立方体也作为数据源,通过元数据模型进行描述,发布到cognos服务器上。
然后通过浏览器访问发布在门户上的元数据,并在其基础上制作报表。
详细过程:1.元数据准备本阶段主要准备cognos与数据库之间连接的语义层,封装数据库底层表和字段,建立表连接,为后续开发人员和最终用户提供一个贴合报表需求的数据库结构视图,设计要点是结构清晰、效率优化。
本部分工作主要是使用cognosFrameworkmanager。
对于三种报表均需要这一步骤。
其主要流程有:a.添加数据源,导入物理层数据结构。
b.定义表连接关系。
c.在物理层的基础上创建表示层QUERY,这些QUERY的设计基于如何更方便在后面的步骤中制作报表,并且要充分考虑性能的优化。
如果是为从cUBE出报表的QUERY,需要按照该多维模型的需要去设计QUERY。
d.发布元数据。
如果是为从cUBE出报表的QUERY,可以发布为iQd的格式,或直接使用。
2.模型设计本阶段的主要工作是根据需求分析来规划oLaP应用主题,然后根据oLaP应用主题建立数据模型,对于出报表使用的模型,基本的设计思路就是使报表的行列科目可以用模型的维度中的类别或者类别的计算来描述。
这部分工作主要是使用cognosTransfomer来完成,开发人员在cognosTransformer提供的图形化设计界面中设计a.导入iQd数据源。
报表制作:framework manager:1。
组织元数据2。
设置参数注意:时间参数的格式report studio:1。
表头制作【列表,交叉表】2。
汇总行【列表,交叉表】3。
查询计算-》设置报表日期;截取字符3。
布局计算使用-》取单元格值5。
聚合使用-》单元格使用布局计算后,不能使用汇总,必须用聚合4。
增加列,其单元格值依赖其他字段值。
6。
取单元格的最大值。
1.FrameWork中组织报表所需要的数据FrameWork用来组织报表所需要的元数据。
1.1 新建一个工程并导入原始数据打开Framework,从菜单“File”中选择“new project”,输入工程名字和保存路径:点击“ok“,弹出界面选择”中文“:点击“ok“,选择”data source”:点击“next“,选择我们建立的数据源:点击“next”,这时候要稍微等一会,选择我们要的原始数据表或者视图[本例使用视图]:点击“next”-> “import”->“finish”.目标界面如图:到此,我们已经导入了我们所有需要的原始数据。
1.2 组织元数据举例:设定取数范围。
说明:本小节可以直接跳过而不会影响其他章节阅读。
假设我们报表是要显示视图V_PDT_MERCH_SUM中的一个日期范围的数据。
我们设定两个参数来指定这个起止的日期。
步骤如下:单击包下面的V_PDT_MERCH_SUM,右键中选择“Edit Definition”:选择“filter”页,点击右下角“add”来添加filter:添加一个参数,并添加其表达式。
我们在这里设置一个起始时间参数“startDate”:同理再设置一个结束时间参数“endDate”:点击“ok”返回。
设置参数完毕界面如图:我们可以测试结果数据了:选择“TEST”页,点击“Test Example”如果设置有参数则会有弹出页面要求输入参数值,注意日期输入格式,如图:点击“ok“可以查看结果数据。
Cognos多维报表制作过程一、创建.iqd文件 (3)1、运行Framework manager,如图: (3)2、创建一个新工程,方法有两种: (3)3、输入工程名称和工程保存地址,如图: (5)4、选择名称空间,如图: (5)5、输入“用户ID”和“密码”,如图: (6)6、选择语言,如图: (7)7、选择“关系型数据源”来联接数据源,如图: (8)8、选择数据源,如图: (9)9、选择数据库和数据源表,如图: (10)10、按默认选项导入数据源表,如图: (11)11、设置数据源表iqd属性 (13)12、建包 (13)13、发布包 (17)14、查看生成的iqd文件 (20)二、创建模型 (21)1、运行Powerplay transformer,如图: (21)2、创建一个新模型 (21)3、输入模型名称,如图: (23)4、为将要导入的数据源表(.iqd文件)命名和选择数据源类型,如图: (23)5、选择要导入的数据源表(.iqd文件),如图: (24)6、进入登录数据库介面 (25)7、重复导入数据源表 (26)8、事实表与维表创建关联 (27)9、数据源表改名 (29)10、创建维度 (30)11、创建维度层 (31)12、生成维度数据,如图: (34)13、查看维度数据,如图: (35)14、创建度量值(指标值) (35)●指标值分类 (35)●创建measure folder (44)●创建度量值 (45)●修改度量值名称,如图: (45)●设计度量值数值表示格式,如图: (46)●设计度量值数值精度,如图: (46)●度量值计算 (47)●移动度量值 (50)●移动度量值 (50)13、创建cube (50)14、查看cube,如图: (52)15、导入权限,如图: (54)16、权限控制,如图: (54)16、Cube中加入权限 (56)三、发布Cube (57)1、启动Framework manager (57)2、新建数据源,操作如图: (58)3、发布包 (68)四、多维分析报表制作 (71)1、单击analysis studio 报表制作工具制作多维报表,步骤如图: (71)2、创建报表表名 (74)3、保存报表 (76)一、创建.iqd文件1、运行Framework manager,如图:进入如下介面:2、创建一个新工程,方法有两种:●方法1:点击“File\new project….”创建,如图:●方法2:点击窗口中的Create a new project…创建,如图:进入如下介面:3、输入工程名称和工程保存地址,如图:4、选择名称空间,如图:5、输入“用户ID”和“密码”,如图:6、选择语言,如图:7、选择“关系型数据源”来联接数据源,如图:8、选择数据源,如图:9、选择数据库和数据源表,如图:10、按默认选项导入数据源表,如图:导入过程,如图:●导入完成,如图:●进入如下介面:11、设置数据源表iqd属性从project viewer窗口中选中要创建.iqd文件的表,并将其相应的properties窗口中的externalize method属性改为iqd,如图:12、建包右击project viewer窗口中的,选择creat\package,如图:进入如下介面,输入包名,如图:●进入如下介面,表示要打包的表,表示不打包的表,单击可在两者间切换,如图:●进入如下介面,按图示步骤完成:13、发布包在前打钩,在框中输入生成.iqd文件的存放地址,如图:在E:\cognos创建iqd文件夹,如图:包发布成功,如图:14、查看生成的iqd文件打开“E:\cognos\iqd文件夹”,可看到生成的五个iqd文件,如图:二、创建模型1、运行Powerplay transformer,如图:进入如下介面:2、创建一个新模型方法1:点击“File\new….”创建,如图:方法2:点击工具栏中的new创建,如图:进入如下介面:3、输入模型名称,如图:4、为将要导入的数据源表(.iqd文件)命名和选择数据源类型,如图:5、选择要导入的数据源表(.iqd文件),如图:进入如下介面,取消Rrn AutoDesign选项,如图:6、进入登录数据库介面首次导入的.iqd文件应先联接数据库,进入登录数据库介面,输入“用户ID”和“密码”,如图:7、重复导入数据源表右击Data Sources窗口内任何位置,在弹出的菜单中选择“Insert Data Source….”,如图:●为将要导入的数据源表(.iqd文件)命名和选择数据源类型(如步骤4、)●选择要导入的数据源表(.iqd文件)(如步骤5、)●导入所需的数据源表(.iqd文件)如图:8、事实表与维表创建关联将事实表与维度表要创建关联的字段名改为相同的名称,即可自动创建关联。
如:维度表B_CM_CPCCFLB_GL. LCCPBM要与事实表B_S_FHZZCPHZYB. CPBM创建关联,将B_CM_CPCCFLB_GL. LCCPBM改为B_CM_CPCCFLB_GL. CPBM即可通过相同的字段名自动创建关联。
●双击要改的字段,在弹出的“Column-CPBM”窗口将Column name改为CPBM,如图:其它的几个维度表安以上方法修改,修改后如图:B_S_FHZZCPHZYB. BZH关联B_D_BZWD.BZH两个表的相应字段的字段名相同,不需要修改会自动创建关联;B_S_FHZZCPHZYB.GSJGM关联B_CM_JGB.OPUN_COD将B_CM_JGB.OPUN_COD改为B_CM_JGB. GSJGMB_S_FHZZCPHZYB.CPBM关联B_CM_CPCCFLB.LCCPBM将B_CM_CPCCFLB.LCCPBM改为B_CM_CPCCFLB.CPBM9、数据源表改名双击要改名的表,在data source name中输入名称,如图:●重复以上步骤,为所有的表改名,改后如图:10、创建维度●右击Dimension map窗口内任务位置,在弹出的菜单中选择“Insert Dimension….”,如图:●在弹出的窗口中输入维度名,如图:11、创建维度层●右击产品维度列内任务位置,在弹出的菜单中选择“Insert level….”,如图:●在弹出的窗口中,输入维度层名,选择Source和Label所对应的字段,操作如图:最细一层的维度层,应选中Source对应字段的Unique属性,如图:重复“9、创建维度”和“10、创建维度层”的操作,创建整个报表所需的维度和维度层,如图:14、创建度量值(指标值)指标值分类示范代码:{SELECT SUBSTR(TJRQ, 1, 6),BZH,GSJGM,CPBM,(CASEWHEN ZBM = '1100' THENJE/10000ELSEEND) "1100利息收入",(CASEWHEN ZBM = '1200' THENJE/10000ELSEEND) "1200内部资金转移收入", (CASEWHEN ZBM = '1300' THENJE/10000ELSEEND) "1300中间业务毛收入", (CASEWHEN ZBM = '1400' THENJE/10000ELSEEND) "1400存款日均余额", (CASEWHEN ZBM = '1500' THENJE/10000ELSEEND) "1500贷款日均余额", (CASEWHEN ZBM = '2100' THENJE/10000ELSEEND) "2100利息支出", (CASEWHEN ZBM = '2200' THENJE/10000ELSEEND) "2200内部资金转移支出", (CASEWHEN ZBM = '2300' THENJE/10000ELSEEND) "2300中间业务支出", (CASEWHEN ZBM = '2400' THENJE/10000ELSEEND) "2400营业税金及附加", (CASEWHEN ZBM = '2500' THENJE/10000ELSEEND) "2500信用风险经济资本成本", (CASEWHEN ZBM = '2600' THENJE/10000ELSEEND) "2600贷款存量",(CASEWHEN ZBM = '2700' THENJE/10000ELSEEND) "2700贷款增量",(CASEWHEN ZBM = '4110' THENJE/10000ELSEEND) "4110小计",(CASEWHEN ZBM = '41A0' THENJE/10000ELSEEND) "41A0减员支出",(CASEWHEN ZBM = '4120' THENJE/10000ELSEEND) "4120其中:劳务用工工资", (CASEWHEN ZBM = '4130' THENJE/10000ELSEEND) "4130三项保险费工伤", (CASEWHEN ZBM = '4140' THENJE/10000ELSEEND) "4140失业",(CASEWHEN ZBM = '4150' THENJE/10000ELSEEND) "4150基本养老", (CASEWHEN ZBM = '4170' THENJE/10000ELSEEND) "4170小计",(CASEWHEN ZBM = '4180' THENJE/10000ELSEEND) "4180其中:房改补贴", (CASEWHEN ZBM = '4190' THENJE/10000ELSEEND) "4190劳动保护费", (CASEWHEN ZBM = '4210' THENJE/10000ELSEEND) "4210小计",(CASEWHEN ZBM = '4240' THENJE/10000ELSEEND) "4240折旧费", (CASEWHEN ZBM = '4250' THENJE/10000ELSEEND) "4250其他营业支出小计", (CASEWHEN ZBM = '4280' THENJE/10000ELSEEND) "4280营业税金及附加", (CASEWHEN ZBM = '4290' THENJE/10000ELSEEND) "4290小计",(CASEWHEN ZBM = '4220' THENJE/10000ELSEEND) "4220其中:扣减房改补贴", (CASEWHEN ZBM = '4230' THENJE/10000ELSEEND) "4230扣减劳动保护费", (CASEWHEN ZBM = '42A0' THENJE/10000ELSEEND) "42A0其中:扣减减员支出", (CASEWHEN ZBM = '4260' THENJE/10000ELSEEND) "4260其中:扣减汇得盈支出", (CASEWHEN ZBM = '4270' THENJE/10000ELSEEND) "4270扣减利得盈支出", (CASEWHEN ZBM = '5100' THENJE/10000ELSEEND) "5100正常类信用风险成本", (CASEWHEN ZBM = '5200' THENJE/10000ELSEEND) "5200关注类信用风险成本", (CASEWHEN ZBM = '5300' THENJE/10000ELSEEND) "5300次级类信用风险成本", (CASEWHEN ZBM = '5400' THENJE/10000ELSEEND) "5400可疑类信用风险成本", (CASEWHEN ZBM = '5500' THENJE/10000ELSEEND) "5500损失类信用风险成本", (CASEWHEN ZBM = '5600' THENJE/10000ELSEEND) "5600贷款呆账核销", (CASEWHEN ZBM = '5700' THENJE/10000ELSEEND) "5700已核销呆账收回", (CASEWHEN ZBM = '6200' THENJE/10000ELSEEND) "6200内控等级",(CASEWHEN ZBM = '6300' THENJE/10000ELSEEND) "6300内控评级得分", (CASEWHEN ZBM = '6400' THENJE/10000ELSEEND) "操作风险经济资本计量系数", (CASEWHEN ZBM = '7100' THENJE/10000ELSEEND) "7100正常类余额",(CASEWHEN ZBM = '7200' THENJE/10000ELSEEND) "7200关注类余额",(CASEWHEN ZBM = '7300' THENJE/10000ELSEEND) "7300次级类余额",(CASEWHEN ZBM = '7400' THENJE/10000ELSEEND) "7400可疑类余额",(CASEWHEN ZBM = '7500' THENJE/10000ELSEEND) "7500损失类余额",(CASEWHEN ZBM = '8100' THENJE/10000ELSEEND) "8100正常类增量",(CASEWHEN ZBM = '8200' THENJE/10000ELSEEND) "8200关注类增量",(CASEWHEN ZBM = '8300' THENJE/10000ELSEEND) "8300次级类增量",(CASEWHEN ZBM = '8400' THENJE/10000ELSEEND) "8400可疑类增量",(CASEWHEN ZBM = '8500' THENJE/10000ELSEEND) "8500损失类增量"FROM B_S_FHZZCPHZYBWHERE CPBM IN (SELECT LCCPBM FROM B_CM_CPCCFLB_GL)}将以下示范代码替换到ora_longtop_B_S_FHZZCPHZYB.iqd中的相似部分,并且替换“分行总帐产品汇总月表”的SQL语句,右击“分行总帐产品汇总月表”,选择“data source viewer”菜单项,操作如图:创建measure folder在measures栏中任何位置右击,在弹出的菜单中选择“insert measure folder….”,操作如图:重复上一步操作,再建名为:收入,综合成本,净收益等measure folder。