中国建设银行Cognos Framework模型开发手册综述.docx
- 文档编号:11874899
- 上传时间:2023-04-08
- 格式:DOCX
- 页数:28
- 大小:998.50KB
中国建设银行Cognos Framework模型开发手册综述.docx
《中国建设银行Cognos Framework模型开发手册综述.docx》由会员分享,可在线阅读,更多相关《中国建设银行Cognos Framework模型开发手册综述.docx(28页珍藏版)》请在冰豆网上搜索。
中国建设银行CognosFramework模型开发手册综述
中国建设银行CognosFramework模型开发手册
信息技术管理部厦门开发中心
4/14/2019
修改记录
编号
日期
描述
版本
作者
审核
发布日期
1
2007-07-01
初稿
V1.0
RTAOTeam
2
前言
编写目的
《中国建设银行CognosFramework模型开发手册》是CognosFramework模型设计的操作手册,包括了Framework模型设计的基本方法和一些使用技巧,为建行CognosFramework模型开发和设计人员提供参考和指导。
参考文档
《中国建设银行Cognos报表开发交付规范》
Cognos的帮助文档
预期读者
⏹CognosFramework模型设计人员
⏹CognosFramework模型开发人员
术语定义
FrameworkManager模型开发手册
FrameworkManager简介
FrameworkManager功能简介
⏹FrameworkManager(以下简称Framework)是一个提供元数据模型开发的环境,创建的模型是来自一个或多个数据源的数据结构的业务展现。
⏹与基于Web的应用程序QueryStudio,ReportStudio,CognosConnection相比,Framework是一个基于Windows的客户应用程序。
⏹Framework创建的模型可以发布成包,为QueryStudio,ReportStudio提供逻辑数据集,也可以生成IQD文件,为Transformer提供数据源。
Framework界面如下图:
Framework常用组件简介
在Framework中,开发模型的工作是在一个Project中进行的;Project就是包含有根据业务模型和规则组织的元数据对象,它以一个文件夹的形式出现在文件系统中,它包含一个工程文件(.cpf)和特定的XML文件;一个Project可以对应多个应用主题,每个应用主题可以包含多张报表应用。
Framework模型开发中常使用到的组件包括:
⏹名字空间
按照模型开发的需求用于组织模型对象的工具,名字空间下的对象路径必须全局唯一。
通常项目的开发往往涉及很多表,而这些表根据相互间的关联关系又是可以分类的,那么在使用Framework建模的时候,可以按照不同类别建立名字空间,在同一个名字空间下组织数据库中相互关联的表,这样做到用一个或者较少的几个Framework模型开发出较多的报表,用户Framework做出的模型具有较好的集成性
名字空间的建立是灵活的,上面说的只是简单的结构,可以根据需要在同一名字空间下建立多层次的名字空间,不同的名字空间定义不同的查询主题。
⏹文件夹
用于组织对象的工具。
根据模型定义的规范,将模型用文件夹人为的划分为2个部分,分别为物理层和逻辑层。
物理层直接从数据源中引入表的物理定义,逻辑层为物理层对应物理表的业务视角下的逻辑定义。
Ø物理层的建立
根据数据分析,设计模型中需导入的物理表,以便尽可能的提高查询语句的运行效率(比较理想的结构是星形结构,一个中间表和多个物理维表)。
在根名字空间(和数据源同名)下,建立一个名为物理层的文件夹目录,然后在物理层文件夹下通过右键电击执行“RunMetadateWizard”,将数据源中相关的物理表引入这个目录。
Ø逻辑层的建立
在根名字空间下,建立一个名为逻辑层的文件夹目录,在逻辑层文件夹下通过右键点击生成QuerySubject,QuerySubject的字段是根据业务逻辑从物理层文件夹中的表或其它数据结构引入的,建议字段名都为中文。
逻辑层中的表为事实表和维表的结构,在事实表中包含维度的编码值和指标的值,维表中包括每个维度上编码值和其名称的对应关系。
在逻辑层中建立逻辑表间的关系。
⏹查询主题
映射到数据源中相应对象(如:
表)并使用描述如何检索数据(如:
列)的SQL语句。
查询主题实际上就是对应数据源中的一个表。
⏹查询项
包含在一个查询主题中,映射到数据源的一个列。
查询项实际上就是对应数据源表中的一个字段。
⏹发布包
包含查询主题的一个子集(或一个完整集)和工程中定义的其它对象;可发布为一个模型供报表开发、查询和分析人员使用。
Framework模型开发流程
模型打包发布
Framework模型开发流程通常包括:
创建客户端到数据库的连接、导入数据对象、建立查询主题和模型打包发布。
创建客户端到数据库的连接
由于Framework在开发过程中需要读取数据源中的表结构,对数据库连接信息读取的是Cognos应用服务器上的数据库连接,而使用连接信息对数据源的表结构进行读取的操作则是通过Framework所在机器(客户端)上的数据库连接来实现的,所以在客户端上要建立与服务器上一模一样的数据库连接。
数据库连接类型
目前实际开发中用到的数据库连接主要有两种,一种是通过ODBC连接数据库,例如Teradata数据库;另一种是通过数据库自带的客户端连接数据库,例如Oracle数据库。
通过Oracle客户端建立数据库连接的最终结果就是往本机的tnsnames.ora文件中添加数据库连接字符串,字符串的内容要和Cognos应用服务器上的tnsnames.ora文件中的数据库连接字符串一样。
可以在本机上通过tnsping命令来测试远程的listener是否启动。
配置好ODBC数据源或客户端连接程序后,可以在Framework新建Project后在导入数据源的数据结构时建立数据源连接,也可以在CognosConnection管理门户中建立数据源连接,其过程都是相同的(如果已有该数据源则不需重新建立)。
创建客户端到数据库的连接
首先点击新建数据源,输入数据源的逻辑名称及设置存放目录。
接着选择数据源的类型。
我们可以看到Cognos支持多种的数据源类型。
输入ODBC数据源名称或连接字符串,及登录用户名和密码。
由于我们在上面选择的是Oracle数据库,所以在这里要输入Oracle数据库的连接字符串;如果我们选择的是ODBC数据源,则直接输入ODBC数据源名称。
接着输入数据库登录用户名和密码。
然后点击最底下的测试连接。
我们可以看到红色方框里的就是Cognos数据库的连接字符串,里面包含了数据库的连接信息。
在后面Transformer配置数据源的Cognos.ini文件中就会使用到这里的连接字符串。
再点击红色圆圈的测试,会看到提示连接是否成功的信息,此时返回成功信息。
最后点击“Finish”按钮。
导入数据对象
首先在根名字空间下创建一个名为物理层的文件夹目录,然后右键点击选择“RunMetadataWiard”。
然后根据需要连接的数据库选择数据源连接,然后导入其中需要的表。
在这里可以看到模型的数据源可以是表、视图或存储过程等。
此时根据实际情况选择。
最后导入数据库表以后,便可以在工程浏览器相应的文件夹或名字空间下看到表名和字段名了。
为了查看数据源中的连接是否正常,我们可以右键点击其中的一个表,选择“test”进行测试。
成功的话数据遍可以显示出来。
根据模型设计规范,来自不同数据源的表或其它数据结构需用名字空间归类组织,所以如果我们导入的数据对象如果是来自不同的数据源的话,必须要在物理层下建立不同的名字空间进行分类。
建立查询主题
新建一个逻辑层文件夹,对刚才导入的表建立业务上的逻辑视图,即查询对象。
在弹出的查询对象框中选择左边可用模型对象的物理层文件夹中的表,然后把该表的字段拖到右边,然后进行编辑(如把字段含义改成中文)。
注意,这里生成的查询对象是最终展示给用户看的。
在逻辑层建立了相应的表(也叫查询主题)后,便可以在各表间建立相互的关联关系了。
选中两个要关联的表,然后右键点击其中任何一个,在弹出菜单中选择其中的“CreateRelationship”,接着在弹出的框中便可以用连线对两个表建立关联关系。
各表间的关系也可以建立多字段连接。
在建立相互间的关联关系后,关系是否正确可以通过英文提示查看。
数据库表之间的关系类型通常有:
Ø一对一关系:
在一对一关系中,A表中的每一个记录在B表中仅有一个记录与之匹配,并且在B表中的每一个记录在A表中也有一个记录与之匹配。
Ø一对多关系:
在一对多关系中,A表中的一个记录能与B表中的许多记录匹配,但是B表中的一个记录仅能与A表中的一个记录匹配。
Ø多对多关系:
在多对多关系中,A表中的记录能与B表中的许多记录匹配,并且在B表中的记录也能与A表中的许多记录匹配。
经过以上步骤最后形成一个简单的模型。
模型打包发布
建立好数据模型后,便可以对模型进行打包发布了。
Framework可以对前面设计的模型打包发布,也可以对Transformer生成的CUBE立方体模型打包发布。
首先是新建一个包。
接着对需要发布的内容进行选择,这里我们只需要发布逻辑层的内容,即展示给用户看到的只是逻辑层的内容。
建立好发布包后,选择“publishPackages”把包发布出去。
我们便可以在CognosConnection中看到这个包了。
一些较常用的设计
构造派生表
从建立好关联关系的多个查询主题之间构造出新的表,其本质就是使用查询语句通过Where条件子句关联多个Table,然后Select出分布在不同Table上的字段。
方法就是新建一个查询主题,然后从已建立了关联关系的两个或多个查询主题中拖入需要的字段形成新查询主题的字段,即查询项。
添加计算项及函数应用
从已有的查询项中派生出一个新的计算项。
有时,数据库表的现有字段不能满足报表设计的要求,例如日期维表month有3个字段month、quarter、year,KEY为month,报表设计中需要计算上月、上季末月、上年同期月等等,针对这种情况,我们在month中增加上月、上季末月、上年同期月等字段,在reportnet用交叉查询来计算上月、上季末月、上年同期月的数据,framework提供了丰富的函数帮我们增加逻辑字段。
添加过滤
对查询主题的查询项进行条件过滤,控制数据内容的显示。
其实就是相当于在SELECT查询语句的WHERE子句中对添加的过滤条件进行过滤。
对象访问角色设置
通过设置对象可视性给对象提供可视权限,设置哪些用户、组和角色具有对象的可视权力,拒绝所有其它的用户、组和角色的访问。
首先选择要进行设置的对象,选择菜单“Actions”下的“SpecifyObjectSecurity”。
在弹出的框中选择“Add”
然后选择要授予查看权限的用户或组,最后点击“OK”。
Cognos几种默认的角色:
1)系统管理员:
对于系统管理员角色用户,可视为根用户或超级用户,所以可以任意访问和更改资料库的对象,并且能够更改其他角色的关系,因此系统管理员的成员中不允许包含所有人用户。
2)匿名用户:
匿名用户可以访问未设置权限的,或已经授权给匿名用户角色或所有人角色的资源。
3)授权用户:
授权用户是经过权限设置者授权的用户,是由Cognos产品自身维护的,其他人不能对该角色进行配置。
4)所有人:
所有人用户是由Cognos产品自身维护的。
对于所有人角色用户,相当于匿名用户及所有授权用户。
可以使用所有人用户来对资源进行快速默认授权设置。
数据访问角色设置:
跟对象访问角色设置类似,控制数据的角色访问。
宏的应用
通过添加宏“#CSVIdentityNameList()#”过滤来控制报表的访问权限。
目前实际开发中主要是通过对机构维中的机构号赋予宏“#CSVIdentityNameList()#”的输入值来实现报表的访问权限控制的。
类似的还有“prompt”等,用于给模型生成的报表添加一个输入提示,将用户的输入值赋予一个变量来控制报表的显示。
手工编辑SQL语句
仅有直接从数据库导入的查询主题(即物理层文件夹中的表)中才可以手工编辑查询语句。
手工编辑SQL语句可以灵活的对数据库表的数据进行查询和加工。
层次维的创建
RegularDimension(层次维)主要用在提示页和交叉表中,它可以向用户直观地展现报表的层次结构。
层次维必须要满足层次关系的表才能创建。
右键点击某一文件夹或名字空间选择Create,再选择Regulardimention项,如下图:
接着在弹出对话框中,从左边的Dimension项面板中将要建立的层次数据项依次用鼠标拖到右边的Hierarchies面板中,假设以机构部门为例,先将一级行机构名称拖进去,再将一级行编码拖到一级行机构名称上面,松开鼠标后在弹出框中选择“_businessKey”,然后再将各分行拖进去,依此类推,从高层次到低层次。
注意,刚才拖进去的被赋予_businessKey的数据项是在报表过滤中真正起作用的,并且一般是ID号,而menbercaption起到表面显示作用,并且一般是NAME,这2种ROLE可以用在同一项上,也可以分开,视具体情况而定。
三种SQL类型设置
Cognossql:
Cognossql是模型默认的类型,当数据库表从源引入时默认。
Cognossql支持多数据源,它不是当前数据库的标准SQL,但能与Cognos良好结合,它对于不同的数据库是透明的。
一般情况下,不用改变这个模式。
Nativesql:
Nativesql是当前数据库SQL,Cognos直接将sql发送到当前数据库中运算,Nativesql不支持多数据源。
Nativesql运行效率比较高,我们可以编辑SQL,例如可以将一些维表改成Native以提高效率。
pass-through:
不通过任何SQL验证。
。
生成IDQ文件
Framework能够在设计的模型中将查询对象生成IQD文件,为Transformer生成CUBE立方体模型提供数据源。
设置好后(上图),发布时,在“Externalizedquerysubjects”打上勾,接着输入存放路径,点击“OK”便自动生成IDQ文件。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 中国建设银行Cognos Framework模型开发手册综述 中国建设银行 Cognos Framework 模型 开发 手册 综述