技术开发 频道

用IBM DWE数据仓库建立数据分析


三、通过OLAP功能部件建立多维分析模型

    下边,我们通过DWE提供的OLAP功能模块来建立多维分析模型。在DWE中,多维数据模型由Cube Model及相应的Cube组成。 

    Cube Model根据数据库底层的星型模型或雪花型模型为基础创建的,它包括:

 Facts, 对应星型模型中的事实表(Fact Table),它包含分析的量度(Measure)信息。度量数据通常分为可累加、半累加及不可累加三类,定义量度时应该指定其聚合方式。
 Dimension,对应星型模型中的维表(Dimension Table),Dimension需要定义维的层次(Level),每一个维的层次都可以包含若干个属性(Attribute)信息,这些属性可以是层键值、描述信息(Descriptive)或相关信息(Relative)。同时,Dimension还需要定义维的层次结构(Hierarchy),它由若干个维的层次按上钻或下钻的顺序构成。
 Join,定义事实及维之间连接关系。 

    Cube是基于Cube Model创建的多维立方体。前端分析工具,如Alphablox是针对特定Cube来进行多维分析的,它由Cube Model中的度量、维、维的层次结构组成。基于一个Cube Model可以创建多个Cube。 

    下边图示是DWE OLAP中的多维模型示意图: 




    在DWE中,多维数据模型是存储在关系数据库中的,这样,我们很容易在不同分析工具之间交换多维数据模型。另外,DWE还可以基于多维模型、数据库统计信息、数据采样等因素对多维分析进行优化,提供创建汇总表(MQT)的功能,进一步提高多维查询的效率。 

    下边的图示详细介绍了DWE OLAP中多维模型优化的基本策略: 

 

    下面我们来设计一个“销售分析”立方体模型。 

    在Design Studio中,我们展开DWEOLAP数据设计项目下边的数据库模型,在Administrator模式下边的OLAP对象文件夹中,来创建“销售分析”立方体模型(Cube Model), 


    在生成的“销售分析”立方体模型中,为量度定义聚合关系,为维度定义层及层次结构, 



    在DWE OLAP中,定义量度聚合关系, 


    我们对“销售额”及“销售数量”量度使用Sum聚集函数。 


    在DWE OLAP中,定义层次结构, 


    DWE OLAP中主要包含以下四种层次关系:

 -Balanced Hierarchy,平衡层次,
 -Ragged Hierarchy,未对齐层次,
 -Unbalanced Hierarchy,非平衡层次,
 -Network Hierarchy,网络层次,每一个成员有不只一个父亲。 

    我们对时间层次结构、产品层次结构及地区层次结构都采用平衡层次方式。 

    当创建好“销售分析”立方体模型后,我们来创建“销售分析”立方体(Cube), 

    在“销售分析”立方体中,我们使用“销售分析”立方体模型中定义的“销售额”及“销售数量”作为量度,使用时间、产品、地区维度及相应的层次结构作为“销售分析”立方体中的维度。
最终生成的“销售分析”立方体如下图: 



    下面,我们要分析立方体模型的正确性, 



    当验证立方体模型的正确性后,我们需要将“销售分析”立方体模型部署到DWEOLAP数据库中, 



    成功部署之后,在数据库资源管理器中可以看到已经部署到DWEOLAP数据库中的“销售分析”模型, 



    我们可以在数据库资源管理器中,为多维模型进行优化,创建MQT表, 


    在优化过程中,我们要选择合适的查询类型, 


    我们选择了“向下钻取”查询类型,之后,系统自动生成MQT创建及数据刷新的脚本, 

    运行上述MQT创建脚本,我们便在DWEOLAP数据库中创建了相应的MQT表来优化查询。 
    同时,我们还可以通过Admin Console来对多维模型进行管理,

0
相关文章