第二章 模型设计
Cognos 8 Transformer 是用于Cognos 8.3以及后期版本的一个数据建模组件。
可以使用这个组件来创建模型,进行一个或多个数据源信息的业务展现。通过向组件添加多维的元数据,客户化的度量,创建客户化的视图,你可以基于这个模型创建PowerCubes,同时发布这些cubes来支持全球性的OLAP报表和分析。
本章概括介绍为了满足客户OLAP需求进行模型设计的过程和一些建议。同时也包括了如何对Series 7进行升级。
本文档的结构有一个逻辑的顺序,起始于需求分析和原始模型的建立。如果已经完成了这个设计步骤,可以跳过,进行元数据,维度,度量的设计。
一 多维建模流程
Cognos 8 Transformer是一个为PowerCubes建立维度层次和级别的适用方便简单的工具。
建议按照如下流程:
仔细分析用户OLAP报表需求;
建立一个原始模型(如果没有执行此步);
选择事务型和结构型数据源,倒入事实数据和元数据;
将元数据和事实数据分别映射到维度和度量;
验证模型,解决任何可能存在的问题;
将模型数据加入到客户化维度视图或cube组里;
使用权限验证和建立客户化视图来控制对敏感信息的访问;
创建和发布PowerCubes;
管理和维护模型,cubes,报表。
故障处理可以参考本文也可以参照Cognos 8 Administration and Security
Guide。本文还介绍了Cognos 8 Transformer所支持的函数以及他们的用法。关于Model Definition Language (MDL),参照Transformer Developer Guide。
1 分析需求和源数据
分析需求认真考虑如下问题:
用户当前使用的报表?什么报表他们使用最频繁?什么报表他们很少使用?
是否不同的用户组分别需要不同的报表?是否有些报表是所用用户组通用的?
用户需要高度汇总的数据、详细数据还是二者均有?
报表度量更新的数据间隔?报表本身变化的频率?组与组之间的报表变化频率差别是否巨大?
用户对报表需求的时间间隔是多少?报表数据是否能经常刷新满足用户的需求?例如,用户需要月报,报表是每周刷新一次,可以满足用户的需求。然而,用户需要日报,将没有办法满足其要求。
分析源数据,请考虑如下问题:
数据来源与一个还是多个数据源?数据源的类型是什么:文件,表格,数据库?在倒入前数据源是否需要转换成支持的类型?
是否能通过Cognos 8的报表或包建立的新查询来优化原有的查询?
数据量多大?期望的数据增量是多大?
静态数据量和动态数据量是多少?是否能够分别为静态和非静态的数据建立数据源以支持增量更新(一种通过向cube附加新数据代替重建的方式来缩短cube创建时间)?
有多少数据需要准备?建议确保类别的值是唯一的,切实可行的方法是在倒入数据前进行数据的聚合和处理;(参阅“建议-预排序,清洗,合并数据”)
是否来自不同数据源的关联度量被同时更新?
是否必须建立额外的数据源来精确的模拟你的组织?
当你已经回答了上面的问题,你就已经准备好,能够开始去准备要倒入的数据源和原型模型的设计。
2 建议-预排序,清洗,合并数据
预处理数据,可以使报表的灵活性和性能达到最佳。
可以达到如下好处:
预排序的记录在Transformer内处理起来更快;
当原数据只包含模型所需要的数据,Transformer读取的时间将更快;
可以使用Transformer进行数据的预先汇总;例如,你的组织每天有5000次失误处理,你每周建立cube,那么就可以事先在周的层级上进行汇总事务数,这样,Transformer将能以非常快的速度建立cube;
按同一非度量值合并,组合记录,减少cube的大小,以提升报表的性能。Transformer默认允许合并。评估数据,察看是否可以使用复合的或规则的上钻进一步合并数据。根据合并的目的,非度量值都同样的按照下面的标准进行特定的上钻。
1)源数据包含具有相同的非度量值得事务。例如,两笔销售记录,都是相同的产品针对同一用户,发生在同一天,只是产品的颜色不一样。如果在这两省略了产品颜色的维度,两笔销售记录将具有相同的非度量值。
2)cube省略了一个维度,则记录便一致。例如,两笔关于同一产品的销售纪录,产品的仓库不一致,销售时间同一天,如果在模型中省略仓库的维度,这两笔销售记录将一样,具有相同的非度量值。
3)粒度设置的原因使记录有相同的非度量值。例如,粒度设置为月,但一列和时间维度的周和天关联,Transformer在合并记录时将忽略源事务的周和天的值。
由于查询基于包,所以一直保证动态聚合属性生效,以减少Transformer从数据源获取数据的行数,从而进一步提高cube的性能。
3 分离结构化和事务性数据
如果Transformer能分开查询结构化和事务性的数据,将将低处理时间。建议标识那些源数据包含存结构化信息,那些数据源包含事务型数据(度量值或事实),那些是二者的混合。
当处理查询建立一个PowerCube,Transformer定义查询首先读取结构化查询,然后读取事务查询。
理想的情况下,应该根据单独的结构化数据源定义每一个维度或钻取路径,然后向这些维度添加一个或多个事务数据源作为度量。这个结构重建练习帮助部分的规格化你的数据,加快类别组织和cube创建。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21947683/viewspace-609678/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21947683/viewspace-609678/