- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Cognos设计开发规范(第二阶段)Cognos设计开发规范(第二阶段)
数据中心项目
Cognos设计开发规范(第二阶段)
西安美林电子有限公司
二○○九年七月一日版本历史
日期 版本 说明(文档修改描述) 作者 审核人 柳卫涛 目 录
1 引言 1
1.1 编写目的 1
1.2 背景 1
1.3 参考资料 1
2 设计原则 1
2.1 合理性 1
2.2 性能 1
2.3 可扩展性 2
3 设计开发流程 2
3.1 总体设计 2
3.2 Framework模型开发 6
3.3 Transformer模型开发 7
3.4 页面开发 8
4 最佳实践总结 8
4.1 展现难易程度判断 8
4.2 具体实践经验 10
引言
编写目的
本文旨在对BI展现开发过程进行规范性指导,为了进一步提高开发的质量和效率,现需对设计开发的规范进行进一步深化,使得开发人员可以通过此规范清晰开发的逻辑思路、加强开发的质量意识。
背景
通过第一阶段基本开发规范的执行,项目组成员的开发规范意识已得到了加强;现需要从更高层次对设计开发过程提出规范性的指导方案,以进一步提高开发质量和效率。
参考资料
《Cognos设计开发规范.doc》
设计原则
合理性
模型设计要按照主题域在业务上进行逻辑划分;
页面开发符合业务要求、逻辑合理。
性能
页面响应速度满足系统的性能要求;
可扩展性
模型设计要满足最大化业务需求;
模型采用星形结构。
设计开发流程
总体设计
分析展现需求
维度数据分析
经过对展现需求的分析理解,明确展现涉及到哪些维度,每个维度需包括哪些数据;
事实数据分析
经过对展现需求的分析理解,明确展现涉及到哪些事实数据,模型设计是否需要包括同期值、累计值、同比、环比(目前在ETL过程中进行处理)等。
举例说明
展现需求如下:
图1
我们需要从中得到如下信息:
维度:时间、单位(要结合具体业务挖掘)、指标等;
事实数据:本年累计、上年同期累计、预算值;增减额、增减率和完成预算数据可由以上三个数据计算获得,可以放在库中也可放在Framework模型中计算,为了提高效率目前采用的是在库中计算的方式。
数据源分析
经过对数据源的分析,明确展现涉及到哪些数据源、数据源的提供方式、表结构、数据量及更新频率等,从而明确数据源和展现需求的符合度。
举例说明:
如图1所示的需求,我们需要了解数据源以什么方式提供(Excel报表还是数据库表)、具体的数据结构是什么样子、数据量大小及数据更新频率是多少。
建模方式
Cognos建模方式选择
若展现数据量不大、时效性要求不高,则可以通过设计Cube实现展现;否则,直接采用Framework模型实现展现。
维度
维度需要包括主键、编码、名称、层级(目前没有层级结构)、排序号、起止时间和有效标志位等信息。
如下图:
事实数据
事实表设计必须包括展现所需的数据字段(细节性或汇总型),包括累计值、同期值、同比和环比等。
举例说明:
如图1所示的需求,事实表需要包括本年累计、上年同期累计、预算值,以及可由以上三个数据计算获得的增减额、增减率和完成预算的数据。如下图:
关系
在Framework模型中建立维度与事实数据的关系,维度表与事实表通常为一对多的关系;汇总数据采用星形模型结构,需展现的细节性数据可能采用雪花型模型结构。
举例说明:
如图1所示的需求,模型设计如下:
从展现需求到模型:
业务层实现
业务层设计有如下两种方式:
根据物理层模型每张表对应有一个查询主题(Query subject);
根据需求再结合具体物理模型将需要展现信息集中设计到一个查询主题中;
举例说明:
从物理层模型到业务层:
展现设计
了为提高展现效率,对于无查询条件等符合静态报表要求的需采用静态报表进行展现;
为了提高页面运行速度,对于多个页面组件(如列表、折线图、柱图)能够使用同一个查询的情况,必须使用同一个查询(Query)。
Framework模型开发
数据源分析
结合展现需求和DM数据库模型明确每个模块需要的相关库表;
必要时可以采用视图、存储过程作为Framework模型的数据源。
数据关系
在物理层采用文件夹来划分每个模块,导入每个模块的表后在Framework中建立维度表与事实表的关系;
根据展现需求基于物理层相关表建立业务层,相当于对维度表和事实表做联合查询。
其他操作(计算、过滤等)
尽量将需要计算的数据项计算过程、一些公共数据项的设计放在Framework模型设计阶段进行(比如,将时间字段年和月组合成一个日期类型的字段、简单计算(增减率、计划完成率)等),这样可以提高页面终端的展现速度,并可以避免页面开发设计时的大量重复性工作。
对需要处理(如截取等)
文档评论(0)