当前位置:文档之家› Cognos报表开发设计规范

Cognos报表开发设计规范

Cognos报表开发设计规范
Cognos报表开发设计规范

Cognos报表开发设计规范版本历史:

(一)模型设计规范

模型:是一个艺术概念,它体现了最终展示效果的思路及雏形,报表的设计将依此为依据;形象点就是说我们要用铁水铸成一个锥体,那么我们要将这些铁水放如到一个锥状容器里,而这个容器就是我们需要的模型。

(1)命名规范

?以下使用的项目简称一律使用英文大写,如SIMS、CCBS等,其余英文

部分,如未加说明一律使用小写。

?Cognos工程(Project):直接使用项目或应用专题名称。

?顶级namespace:项目或者应用专题的简称+?_?+ Cognos模型如:

CCBS_Cognos模型。

?数据源:项目组或者应用专题的简称+?_?+?rdb/mdb/txt/oth?,其中,rdb

代表关系数据库,mdb代表多维数据库,txt代表文本数据,不属于上述任

何一种数据源的使用oth。原则上,一个工程只允许新建一个数据源。如

果确实有必要建立多个逻辑数据源的,需要在上述命名规则后添加三位

数字序号。如:CCBS_mdb_001。

?名称空间namespace和目录、查询主题、查询对象:根据具体的业务含

义进行设置,除专有名称外,原则上只使用中文,并避免直接使用技术

术语,在名称的选取上要力求简洁规整。

?连接:使用默认的名称,即查询主题1<->查询主题2。

?过滤:根据过滤条件的实际意义用中文进行描述。

?发布包:中文部分按照业务的原则组织,避免使用技术的术语。

(2)设计原则

减少使用union操作

数据过滤都在cognos的模型层实现

避免全表扫描

使用星型模型和雪花模型

星型模型:是一种关系数据库结构,该结构在位于架构中心的单个事实数据表中维护数据,其它维度数据存储在维度表中。每个维度表与事实数据表直接相关,且通常通过一个键关联接到事实数据表。

雪花模型:星型架构的一个扩展,由多个表定义一个或多个维度。在雪花模型中,只将主维度表与事实数据表联接;其它维度表联接到主维度表。

(3)结构规范

工程:直接使用项目或应用专题名称,一个Cognos工程可以跨多个数据源或表;一个项目组原则上只建立一个Cognos工程。

顶级namespace:项目组或者应用专题的简称+?_?+ COGNOS模型。如:CCBS_COGNOS 模型。

物理层:原系统数据表;是对数据库对象的直接引用。

第一层:每个数据源对应一个物理层下的namespace,命名规则:数据来源描述+?_DS?。

第二层:每张源表对应一个查询主题,该查询主题实质上是对数据库表的一个直接映射的视图转换。

表示层(逻辑层):经过加工用户使用既模型,是在拷贝“物理层”对象的基础上,根据业务规则进行设计实现。

第一层:使用namespace对业务主题进行分类。必要时可以在往下一层使用目录或者namespace再进行主题分类。

第二层:每张视图对应一个查询主题。

(4)模型包的发布

一个项目或应用原则上只发布一个包,由于应用的需要必须设置多个包的时候,每个模型开发者建立单独的模型包进行发布,可以使用包的应用+开发者身份名称拼音前三位大写进行区分,命名如下:

项目简称+’_’XXXX+‘_’+MMM[dd];

XXXX代表应用名称,一般使用中文;MMM开发者身份名称每个字的拼音的首位大写字母,[]为可选项当服务器端包名有重复时使用,dd为2位数字;如ERPF_总帐报表_YJ,ERPF_资产查询_YJ02。

(二)报表设计规范

(1)命名规范

报表名称:要使用定长阿拉伯数字编号+有意义中文名,名称不超过20个汉字,编号的长度依照本类别报表的数量,保证编号的唯一性。

例如:001试算平衡表

页面名称:根据需求而定,报表名称反映展示的业务主题,且提示页面命名也要和报表页面保持一致。

例如:报表页面名称为概要表,那么提示页面名称也应该是概要表。

查询名称:用于报表页面的查询,则以Q_开头,用于提示页面的查询,则以QP_开头,后面接具体含义的中文字符。例如“机构”用于提示页的查询可命名为:QP_机构,而“营业额汇总”用于报表页的查询可命名为:Q_营业额汇总。

连接名称:

由多个查询连接而成的,则以J_开头,中文字符部分分别取各查询的中文部分。例如要对“Q_本年”与“Q_年初”查询进行连接,连接后命名可设为:J_ 本年_年初。

合并名称:

由多个查询合并而成的,则以U_开头,命名规则同多个查询连接。例如:U_上年消费_今年消费。

变量名称:

1)小写英文字母、数字和下划线,且以p_ 开头(p_ date);

2)不要出现程序中使用的关键字

_sql、_isselectone、_datasource、_view、_ref、_value、_btn。

常用参数项名称:

(1) 日期:p_date

(2) 开始日期:p_begin_date

(3) 结束日期:p_end_date

(4) 机构:p_branch_code

(5) 币种:p_currency

(2)页面组件规范

1、字体、颜色、边框、对齐方式。(具体规范应根据具体需求而定)

如:大小:18pt,黑体,所在的格子高度:100pt

2、列表、交叉表。

3、标题、边框、正文。(具体规范应根据具体需求而定)

边框:颜色,样式,宽度。颜色:黑色,样式:实线,宽度:1pt。

列标题:边框,字体,背景颜色;边框的颜色,样式,宽度分别用黑色,实线,0.5pt;

字体大小、粗细:默认,黑体;背景颜色:默认。

正文:字体大小、粗细:默认,常规。边框的颜色,样式,宽度分别用黑色,实线,0.25磅。背景颜色使用默认。必要时可以为报表添加背景图片。

4、日期、时间、页码

报表查询日期:在报表页面的页脚(或按要求)使用报表函数asfodate();

报表查询时间:在报表页面的页脚(或按要求)使用报表函数asfotime()。

报表页面页码:在报表页面的页脚(或按要求)使用报表函数PageNumber()。

5、提示页面的组件按照日期、机构、币种的顺序从上到下来排列。

6、如果是需要后台跑的批量报表,请注意日期组件一定不能设置为必选项,否则无法传入日期参数。

(3)数据格式规范

数字:当报表展现余额时,数据格式应选择数字,并且保留2位小数。

百分比:当报表需要展现比率时,数字格式应该选择百分比,并且保留2位小数。

金额单位:当使用金额单位为元时,金额乘以1。

当使用金额单位为万元时,金额乘以0.0001。

当使用金额单位为百万时,金额乘以0.000001。

当使用金额单位为亿元时,金额乘以0.00000001。

当使用金额单位为亿元时,金额乘以0.00000001。

(4)报表发布规范

公共文件夹根目录下不能存放报表。

目录设立要结构合理,能够代表项目或业务分类。

目录命名:报表的业务主题英文简称+…_?+报表目录的中文名称。

例如:统计信息系统的统计指标报表,目录名定为“CCBS_统计指标”

部署包命名规范:部署包命名采用系统名+时间戳,其他必要信息在描述和提示中标注。

例如:SMIS20070808_v1.01

(三)安全定义规范

安全控制原则:机构层级+角色访问控制(RBAC)。

模型的安全要素必须满足数据安全性的要求,必要时增加对象安全性。

(四)附录示例

D:\项目\广州农信\

cognos开发规范示例.d

(五)后台批量报表的命名、属性设置以及技术实现

请参照下面的文档:

《Cognos分组分页的技术实现以及规范.doc》

《Cognos后台批量报表命名规范.doc》

《Cognos后台批量传业务日期的处理方式.doc》

(六)后台批量的报表路径放置

单独设置一个文件夹和包来放置后台批量生成的报表,不要跟前端展现的报表混淆。

cognos报表知识整理

Cognos报表—知识整理 一、提示页自动加载 1、功能需求背景 华中电网概况报表首页需要有日期参数,但是每次进入首页时出现日期选择框影响美观,所以为其增加提示页面,但根据要求不能增加提示页面,所以设计出提示页面自动加载。通俗的讲就比如:出现提示页面,电脑自动点击确定进入主页面…… 2、功能实现方法 步骤1: 新建提示页面,新页面中内容包括:onload项目、完成按钮、日期提示框以及针对提示框的html项目。如下图1 图1 步骤2: Onload项目中函数:详见图1

二、进入页面后自动刷新一次 1、功能需求背景 电网概况报表电厂容量分析主页面中,需要自动根据日期刷新一次页面(具体原因参见三、特殊的日期过滤) 2、功能实现方法 步骤1: Onload项目加载函数,如图2 图2 步骤2: Js中函数新加一行代码,如图3 图3

3、可参考报表 电网概况报表>>1.电厂容量分析 三、特殊的日期过滤 1、功能需求背景 电网概况中发电情况包括水、火、风三种发电方式,在数据库中体现即为水(火、风)电机组管理(参数)表。根据用户要求,需要对全网水(火、风)当年新投机组容量等进行数据统计, 2、设计思想 1)将水、火、风机组管理表分别对应查询中取相同数据项,为U联做准备。 2)在三个查询中新建“投运年”数据项,取得机组投运年份。表达式:substr(【投运日期】,1,4) 3)将三个查询进行U联,给U联后的查询设置过滤条件,如图4 图4 3、出现问题分析 根据2、设计思想中进行操作,报表验证报错,不能对substr进行集操作,经查询得知,dm 数据库不支持在两层(原层和U联层)查询中同时使用substr。 4、新的解决方法 思路如下图:

Cognos制作报表--基本范例

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说明),在逻辑层中不要建立逻辑表之间的关系。如下图:

Cognos开发之Cube

Cognos 8开发之Cube V1.0

知识成果简要信息表

第一章 Cognos简介 1.概述 Cognos展现的报表基于统一的元数据模型。统一的元数据模型为应用提供了统一、一致的视图。用户可以在浏览器中自定义报表,格式灵活,元素丰富,而且可以通过Query Studio进行即席的开放式查询。Cognos还具有独特的穿透钻取(roll up和drill down)、切片(slice)和切块(dice)、以及旋转(pivot)等功能,使分析人员、管理人员或执行人员能够从多角度对信息进行快速、一致、交互地存取,从而获得对数据的更深入了解,有效地将各种相关的信息关联起来,使用户在分析汇总数据的同时能够深入到自己感兴趣的细节数据中,以便更全面地了解情况,做出正确决策。 Cognos强大的报表制作和展示功能能够制作/展示任何形式的报表,其纯粹的Web界面使用方式又使得部署成本和管理成本降到最低。同时Cognos还可以同数据挖掘工具、统计分析工具配合使用,增强决策分析功能。进行合作,推动以AIX 技术为中心的创新,同时开发、测试和使用各种用于支持AIX 操作系统的新应用和中间件。 2 . Cognos 8 的功能组件介绍: Cognos 8 的功能组件分为服务器端和客户端两部分,服务器端是基于SOA构架的Cognos 8服务,以Web Service的方式接受和处理用户请求;客户端程序是开发人员使用,用于构建CUBE 和Cognos 8元数据的工具,它们分别是:TransFormer 和FrameWork。用户制作、浏览报表和业务分析都是基于浏览器的,不需要安装插件或客户端,在浏览器端,用户可以访问以下组件:Report Studio 、Query Studio 、Analysis Studio。同时用户也可以基于Cognos提供的SDK开发应用直接访问Cognos 8 服务。 Cognos 8产品结构图:

Cognos报表开发技巧整理

1实现行属性的目录树展开功能。 1.1在LIST报表中的现实 1.拖入6个字段,并且对产品系列、产品类型分组,如下图: 2.添加产品系列、产品类型的页眉

3.拆分产品系列、产品类型的单元格 4.将产品系列、和产品类型的汇总拖到产品名称处

5.删除产品系列,产品类型 6.打开列表的锁

7.按住CTRL,拖动数量、单位成本、单价到产品类型,产品系列的页眉处 8.在report page中插入HTML控件,然后拷贝如下代码进去,下面代码主要是定义了两个函数,一个用于目录树的展开与缩进,另一个用于页面初始化时隐藏一些数据,下面代码只支持到2层目录,更详细的含义可参考的在交叉表中实现目录树功能的注释。 代码如下: 8.拖入一个HTML项目插入到运营商单元格前面,修改成数据项,并修改表达式 运营商中HTML控件代码如下: ''+ [orc82].[D_OPERATIONROLES].[运营商所在地] + '' 9.删除掉运营商所在地 10.设置运营商的填充为左侧20 11.增加图片 增加树形的图片,空白图片到cognos相应的图片目录 12. 增加列表页脚 (注意,这里的HTML控件一定要放入表页脚里面,否则不能实现隐藏数据的功能),并拷贝HTML代码,删除掉列表页脚几个字 代码如下:

相关主题
文本预览
相关文档 最新文档