Cognos报表开发设计规范
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Cognos报表开发设计规范版本历史:
1.模型的规范
物理层:从数据库直接引入的数据库对象。
逻辑层:最终发布到Cognos服务器上提供给用户使用的对象集合。
模型分层的原则:降低模型的复杂性,便于管理和维护。
模型开发命名规范
安全设计
功能安全性
1.1 物理层的创建
A.在工程的主namespace(最上层的namespace,工程自动生成)下创建物理层文件
夹(以下简称“物理层”)
B.将开发用到的数据对象(表、视图或者存储过程)全部纳入
C.不对导入对象作任何改动
D.不导入数据库对象间的约束关系,不在该层建立查询对象的关联关系
E.物理层对象统一放在名称为“物理层”的文件夹对象下
F.物理层对象根据数据源的不同使用名字空间进行归类组织,命名规则如下:数
据来源描述+’_DS’
目录结构图如下:
1.2逻辑层的创建
A. 创建和物理层并列的逻辑层文件夹(以下简称“逻辑层”)
B.根据物理层的数据对象在逻辑层创建查询主体(Query Subject)。
C.在逻辑层内建立查询主体之间关系
D.在逻辑层的第一层使用namespace对业务主题进行分类,如基金余额汇总表,证券
客户信息表等。根据实际情况可以在往下一层使用目录或者namespace再进行主题
分类。最后,放置具体的查询对象
E.逻辑层的分层根据实际情况按照具体应用进行,一般至少分成两层
F.Cognos模型开发规范
G.目录结构图如下:
1.3模型开发命名规范
A.以下使用的项目简称一律使用英文大写,如ERPF、ECIF等,其余英文部分,如未
加说明一律使用小写
B.Cognos工程(Project):直接使用项目或应用专题名称
C.顶级namespace:项目组或者应用专题的简称+’_’+ COGNOS模型,一个项目组原
则上只建立一个Cognos工程。如:SMIS_COGNOS模型
D.逻辑数据源:项目组组或者应用专题的简称+’_’+’rdb/mdb/txt/oth’,其中,rdb代表
关系数据库,mdb代表多维数据库,txt代表文本数据,不属于上述任何一种数据源
的使用oth,原则上,一个工程只允许新建一个数据源,如果确实有必要建立多个
逻辑数据源的,需要在上述命名规则后添加三位数字序号,如ERPF_mdb_001
E.名称空间和目录、查询主题、查询对象,根据具体的业务含义进行设置,除专有名
称外,原则上只使用中文,并避免直接使用技术术语,在名称的选取上要力求规整
F.过滤:根据过滤条件的实际意义用中文进行描述
1.4安全设计
A.安全控制原则:机构层级+角色访问控制(RBAC)
通过会话函数(session)取得用户所在机构对用户所访问数据进行权限控制,再通
过给用户分配不同的角色对用户所访问的报表进行权限控制。一般的,上级机构用
户具备所有下级机构用户在数据和报表的访问权限。
B.对象安全性的实现
通过设置对象可视性给对象提供可视权限,设置哪些用户、组和角色具有对象的可
视权力,拒绝所有其它的用户、组和角色的访问。
C.数据安全性的实现
通过设定包访问权限来实现元数据的安全性;通过定义数据安全性过滤,限制查
询主题返回的数据。
1.5功能安全性
对于Congos几种默认角色要求:
A.系统管理员:对于系统管理员角色用户,可视为根用户或超级用户,所以可以任意
访问和更改资料库的对象,并且能够更改其他角色的关系,因此系统管理员的
成员中不允许包含所有人用户。
B.匿名用户:匿名用户可以访问未设置权限的,或已经授权给匿名用户角色或所有人
角色的资源。
C.授权用户:授权用户是经过权限设置者授权的用户,是由Cognos产品自身维护的,
其他人不能对该角色进行配置。
D.所有人:所有人用户是由Cognos产品自身维护的。对于所有人角色用户,相当于
匿名用户及所有授权用户。可以使用所有人用户来对资源进行快速默认授权设
置。
1.6包设计规范
A.一个项目组原则上只发布一个包,由于应用的需要必须设置多个包的时候,可以使
用包的应用进行区分,命名如下:
项目简称+’_’XXXX,XXXX代表应用名称,一般使用中文,如ERPF_总帐报表,
ERPF_资产查询
B.命名的原则:中文部分按照业务的原则组织,避免使用技术的术语,如“ERPF_资
产模型”是不符合规范的命名
C.包发布规范:只发布展示层文件夹的内容。
发布后内容如下图:
2.报表界面设计
2.1.报表页面
A.实体页面
根据实际应用情况同一报表可以建立多个实体页面。
B.提示页面
可以根据实体页面的数量进行创建,原则上和实体页面保持一致,提示页面尽量避
免使用多步操作的方式,即尽量在单一页面上完成所有的选择操作。
C.报表页面名称命名
根据需求而定,提示页面命名也要和报表页面保持一致。
例如报表页面名称为概要表,那么提示页面名称也应该是概要表。
D.推荐使用的报表对象为交叉表、列表、图表
限制使用的报表对象是重复器
2.2.查询对象
A.单个查询
a. 如果查询对象是用于报表页面的,则以Q_开头,如果是用于提示页面的,则以
QP_开头,后面接具体含义的中文字符。
例如“机构”用于提示页的查询可命名为:QP_机构,而“营业额汇总”用于报表页的
查询可命名为:Q_营业额汇总。
B.多个查询连接
a. 如果查询对象由多个查询连接而成,则以J_开头,中文字符部分分别取各查询
的中文部分。
例如要对“Q_本年”与“Q_年初”查询进行连接,连接后命名可设为:J_本年_年初。
C.多个查询合并
a.如果查询对象由多个查询合并而成,则以U_开头,命名规则与多个查询连接类
似。
例如:U_上年消费_今年消费。
2.3.变量命名
A.参数项名称必须是由英文字母、数字和下划线组成,必须全部小写,并以p_ 开头;
B.参数项名称不允许包括以下字样:
_sql
_isselectone
_datasource
_view