cognos关于维度类事实表建模的讨论

浏览: 2124

Cognos关于维度类事实表建模的讨论

一、背景

在很多行业领域内都会存在一种维度类事实表(这里我暂且用了维度类事实表这种叫法),什么是维度类事实表呢?即此种表既可以作为事实表对待也可以作为维度表对待,例如人力资源系统中的雇员信息表;电信业务系统中的客户信息表。雇员信息表不同规模的企业数据量差异较大,从数十位到上百万甚至千万乃至到亿级别,客户信息表亦如此。

二、Cognos 建模

Cognos Framework建模中经典的理论是4层建模理论:物理视图层、业务逻辑层、维度建模层、业务展示层。今天讨论重点是电信系统中的客户信息表是建立维度信息还是建立查询信息,之所以今天写这篇文章,是因为客户坚持模型中所有表都采用维度建模,我不同意这种做法,才借一下示例来讨论。

1.png

图1

如图1所示,客户信息表中有客户id、姓名、出生日期、电话号码、居住地址相关信息,唯一的指标就是客户数量,每一条记录代表一个客户。

1、采用查询主题方式:

2.png

图2

如图2在展现层直接创建一个快捷方式,对外使用时相当于对一张表直接select然后展示相关信息。

2、采用维度建模方式:

3.png

图3

如图3在展现层创建一个维度信息,层级只有一层,其中将surname作为caption。其余信息作为维度层级上的字段信息无角色信息设置。

下面我们对比下两者的区别:

1)、开发复杂度两者相差不大,维度建模稍稍多一些设置步骤。

2)、建模原理上:如果将客户个体作为一个维度取衡量客户相关指标(如客户A的月度话费总额、拨打电话时长、短信数量、数据流量)时有必要作为一个维度;如果对客户个体只需要查询其基本信息(如姓名、住址等)时只需建立一个查询项即可。

三、Cognos 报表制作

这里不讨论将客户信息作为维度来分析其花费总额等指标信息的情况,单独说查询客户详细信息的情况。以创建一个List为例:

1、  采用查询主题方式:

4.png

图4

展开query subject直接将所需字段拖曳至list控件中即可。

2、采用维度建模方式:

5.png

图5

展开Dimension Subject直接将所需字段拖曳至list控件中即可。

下面我们对比下两者的区别:

1)、使用上两者没有差别,都可以直接拖曳相应字段信息即可。

2)、习惯上还是使用查询主题时候较多,方便易于理解。因为维度建模比较是使用多维分析使用,几乎不用于查询明细。

推荐 0
本文由 H_Elsker 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册