Cognos开发规范
1. 模型的规范
物理层:从数据库直接引入的数据库对象。
逻辑层:最终发布到Cognos服务器上提供给用户使用的对象集合。
模型分层的原则:降低模型的复杂性,便于管理和维护。
模型开发命名规范
安全设计
功能安全性
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. 包发布规范:只发布展示层文件夹的内容。
D. 发布后的内容如下图示:
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
_ref_value
_btn
C. 特殊参数项名称:
日期: p_date
开始日期:p_begin_date
结束日期:p_end_date
Cognos报表开发规范
机构: p_branch_code或p_company
币种: p_currency
注意:以上类型的参数项,必须以此命名。否则无法使用报表缓存及作业功能。
2.4. 常用数据格式
A. 数字
当报表展现余额时,那么它的数据格式应选择数字,并且保留2位小数。
B. 百分比
当报表需要展现比率时,那么它的数字格式应该选择百分比,并且保留2位小数。
C. 金额单位
a) 当使用金额单位为元时,金额乘以1。
b) 当使用金额单位为万元时,金额乘以0.0001。
c) 当使用金额单位为百万时,金额乘以0.000001。
d) 当使用金额单位为亿元时,金额乘以0.00000001。
2.5. 列表样式
以列状格式展现报表数据,具体应用应根据实际情况决定。
A. 列表边框
颜色,样式,宽度。颜色:黑色,样式:实线,宽度:1pt。
B. 列表列标题
边框,字体,背景颜色。边框的颜色,样式,宽度分别用黑色,实线,0.5pt。字体大小、粗细:默认,黑体。背景颜色:默认。
C. 列表列正文
字体,边框,背景颜色。字体:默认,常规。边框的颜色,样式,宽度分别用黑色,实线,0.25磅。必要时可以为报表添加背景图片。
D. 列表页脚
字体,边框,背景颜色。字体:默认,黑体。边框的颜色,样式,宽度分别用黑色,实线,0.25磅。
E. 报表查询日期
在报表页面的页脚使用报表函数asfodate()。
F. 报表查询时间
在报表页面的页脚使用报表函数asfotime()。
G. 报表页面页码
在报表页面的页脚使用报表函数PageNumber()函数。
2.6. 交叉表样式
按维度以交叉状格式展现报表数据,具体应用应根据实际情况决定
A. 交叉表边框
颜色,样式,宽度。颜色:黑色,样式:实线,宽度:1pt。
B. 交叉表节点成员
边框,字体,背景颜色。边框的颜色,样式,宽度分别用黑色,实线,1pt。字体大小、粗细:默认,黑体。背景颜色:默认。
C. 交叉表资料单元格
字体,边框,背景颜色。字体大小、粗细:默认,常规。边框的颜色,样式,宽度分别用黑色,实线,0.25磅。背景颜色使用默认。必要时可以添加背景图片。
Cognos报表开发规范
D. 交叉表角
字体,边框,背景颜色。字体大小、粗细:默认,黑体。边框的颜色,样式,宽度分别用黑色,实线,1磅。背景颜色使用默认。
E. 交叉表页脚
字体,边框,背景颜色。字体:默认,黑体。边框的颜色,样式,宽度分别用黑色,实线,0.25磅。
F. 报表查询日期
在报表页面的页脚使用报表函数asfodate()。
G. 报表查询时间
在报表页面的页脚使用报表函数asfotime()。
H. 报表页面页码
在报表页面的页脚使用报表函数PageNumber()函数。
3. Cognos部署规范
3.1. 目录的规划
1) 至少包含一级目录
2) 根据需要可以设置多级目录
3) 具体应用的目录只建立在模型目录下,并且报表应放在实现该报表的模型目录下。
4) 报表不能放在公共文件目录下。
5) 存放报表的目录不能再存放其它目录。
6) 共享报表可以在公共文件夹的根目录设置子目录,但是必须由管理员设定。
7) 目录命名规则:目录存放报表业务主题英文简称+报表目录的中文名称。
3.2. 部署包导出要点
1) 选择公共文件夹和目录内容
2) 禁止导入后禁用选项
3) 包含Cognos组和角色
4) 包含访问权限和对外部名称空间的引用
5) 将所有者设置为执行导入的用户
6) 应用于新条目和现有条目
7) 保存并运行一次
如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!
赞15
添加新评论8 条评论
2013-10-27 22:22
2011-10-29 10:55
2011-08-22 18:04
2011-08-19 18:08
2011-08-11 15:31
2011-05-30 12:13
2011-05-26 21:38
2011-05-09 10:08