第五章、多维数据透视分析(1)

第五章、多维数据透视分析(1)
一、多维数据模型
1、多维数据概述

通过商业智能分析产出的分析成果被统称为商业智能报表,简称"BI报表”。日常生活中我们看到的由交互式数据图表界面构成的报表都是BI报表。

创建一个BI报表要先后使用ETL、DW、OLAP及数据可视化4个不同阶段的软件技术。其中OLAP技术是进行BI分析最为关键的步骤,在该步骤中主要完成两项任务(创建多维数据模型、创建针对度量的汇总计算规则)。


【多维数据模型中的维度在分析过程中代表业务角度。多维指的就是多个不同的业务角度。多维数据是用来映射多个不同业务角度的数据信息。】


2、多维数据模型概述

多维数据模型又被称为多维数据集或立方体,分析人员通过搭建多维数据模型的方法将多源数据连接为一个完整的数据集合以达到在不同数据源间共享彼此数据信息的目的。多维数据模型为进行多维数据透视分析提供完整数据信息,有了多维数据模型才能从多角度用数据全面映射业务问题的实际情况。

多维数据模型是将通过ETL技术提取到DW中的多源数据连接在一起构成的多表连接模型,其主要作用是在DW中的不同数据源间"搭桥”,让所有通过"桥梁”连接在一起的数据源能够共享彼此的数据信息,从而解决"信息孤岛"问题,为完成多维数据透视分析任务提供完整的数据集合。

搭建多维数据模型的过程称为建模。

在数据分析领域中有两类不同的建模工作:搭建多维数据模型。(下面只针对这一块)、搭建分析所需要的数学模型。

3、多维数据模型创建方法

创建多维数据模型的过程就是在多个不同数据表间进行连接的过程,而使用多维数据模型的过程,就是在多表连接环境上进行多维数据透视分析(在多个交叉维度下对度量进行汇总计算)的过程。

相邻两表间连接汇总计算的方法及逻辑。

分析人员需要使用公共字段在相邻两表间创建连接关系,其连接逻辑与表结构数据间进行横向合并的逻辑非常相似。两表间连接线两端的数字1代表一表,*符号代表多表。连接线中间的箭头符号称为筛选器,双向箭代表两表间的筛选方向为双向筛选。连接好两表后,一个最简单的多维数据模型就创建完成了。

影响连接汇总计算结果的要素主要有3个:筛选器的方向、对应关系及汇总角色。

其中筛选器的方向和对应关系影响表间的连接逻辑, 而连接逻辑又直接影响汇总角色在汇总计算时发挥的作用。

(1)筛选器方向

筛选器的方向决定了维度字段与度量字段的出处。

筛选器的方向可以决定两表连接后哪个表的字段能够作为维度字段,对另一个表的度量字段进行筛选。

筛选器分为两类,分别是单向筛选器及双向筛选器。连接线中间只有一个箭头的被称为单向筛选器,而连接线中间有两个箭头的被称为双向筛选器。在单向筛选器中,箭头出发一侧的数据表是筛选数据表,用来提供维度字段。而箭头指向一侧的数据表是被筛选数据表,用来提供度量字段。

在数据模型连接逻辑下,哪个表提供度量字段哪个表为主表,而另一侧的表则为附表。(区别SQL,SQL中左连接时左表是主表,右连接时,右表是主表,主表提供查询结果的数据范围)

如下图,根据筛选器的方向指向,订单表是被筛选一侧的数据表,应提供度量字段,是主表;而销售人员表是筛选一侧的数据表,应提供维度字段,是附表。所以,当两表通过销售员ID连接后,销售人员表中有销售员ID为S4的销售人员,但因为销售人员表是附表,所以 S4对应的销售人员姓名"李四”并不会出现在透视表中。(主表提供查询结果的数据范围

(2)对应关系

原则:在实际工作中,我们应该尽量用一个表的主键与另一个表的非主键连接。

两表连接时的对应关系,有一对多(一对多与多对一是同一种对应关系)、一对一及多对多三种对应关系。

1.关于一对一的对应关系:

一对一(主键对主键)一般不会出现,因为会造成信息冗余的情况。

一对一(主键对非主键)一对一的双向筛选在实际工作中只是暂时没问题,但不能一直应用下去。

2.关于多对多的对应关系:

多对多是指非主键连接非主键的情况。在实际业务工作中,虽然会出现多对多的连接情况,但是应尽量避免使用。因为使用多对多的对应关系会造成度量值在汇总时被重复计算的可能。


3.关于一对多的对应关系:
一对多的单向筛选器,应遵循“一表出维度字段是附表,多表出度量字段是主表,一表筛选多表" 的规则进行连接汇总计算。使用类型一规则。

一对多的双向筛选器,提供了多表筛选一表的可能性,但用类型二规则计算,实务要尽量避免使用

(3)表结构基本连接汇总计算规则

类型一规则。该规则的计算逻辑是在维度字段汇总度量字段时,先将维度字段下相同的维度项按照合并同类项的方式合并在一起,再按照计算规则的要求将每个不同维度项下对应的所有度量值进行汇总计算,最后得到计算结果。(常用,比如一对多的单项筛选器)

类型二规则。该规则的计算逻辑是先对维度字段下(区域ID)的不同维度项进行合并同类项处理,再找出每个维度项下包含的不同的公共字段信息(产品ID),然后将每个不同公共字段信息作为汇总度量字段的维度使用,最后按照指定的汇总计算规则求出每个不同公共字段信息对应的度量值。

在类型二规则下,指定的维度字段并不直接对度量字段进行筛选,而是先找出每个不同维度项下包含的不同的公共字段信息,再用这些公共字段信息对度量字段进行筛选。(避免使用,比如多对一的对应关系下使用双向筛选器用多表筛选一表)


对两表间的连接汇总计算逻辑进行总结,我们应尽量使用一对多的对应关系连接,而一对多的对应关系下进行汇总计算时应尽量遵循“一表出维度,多表出度量,一表选多表”的筛选方式进行计算。

(4)跨表筛选

在实际工作中,除了两表直接进行连接筛选,我们还可以在多表环境中进行跨表筛选。

进行跨表筛选的前提条件是筛选路径要通畅,就是每一段路径中的筛选器中都要有指向被筛选表一侧的箭头才行。若跨表筛选各径中存在不能被正确筛选的阶段,则跨表筛选后只能得到错误的透视结果。

在多表环境下,在不相邻的两个表间往往可以形成多条不同的筛选路径,两表间包含多条筛选路径的情况称为交叉连接。虽然交叉连接存在多条筛选路径,但真正对汇总计算结果产生影响的路径只有一条,我们称影响筛选结果的路径为有效路径,而其余路径均不参与筛选计算,我们将这些路径称为无效路径。

在Power BI工具中,完全由实线构成的路径称为有效路径,而其他两条包含虚线的路径则称为无效路径。

在多表连接环境下,维度表与事实表间可以构成3种不同的连接模型,它们分别是星型模型、雪花模型及星座模型。
1.星型模型:一个事实表和多个维度表相连接构成的连接模型。用来为事实表丰富维度信息。
2.雪花模型:维度表和其他维度表连接再与事实表连接后构成的连接模型。用来在某些特定维度信息上进行更丰富的维度信息拓展。
3.星座模型:多个事实表与某些维度表连接后构成的连接模型。用共用的维度表将多个不同的事实表连接为一个整体(因为事实表是多表,所以事实表与事实表之间如果直接连接会生成多对多的对应关系,前文提到过多对多的连接关系应尽量避免使用,所以事实表与事实表之间一般需要共用的维度表进行中转连接)。


 

  • 20
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值