1、第5讲 联机分析处理技术2,1,多维数据模型构成的多维数据空间称作为数据立方体(Data Cube,简记为cube)。是从不同角度对同一数据进行观察得到的数据交点。,数据立方体,2,一个二维数据立方体对应的某地区商店销售额表,数据立方体,3,商店销售额表的三维数据立方体,数据立方体,4,维是观察数据的特定角度,是每个事物的属性。每个维都有一个唯一的名字,如:时间维、地区维、产品维等。,1)维,5,维成员(member)维由一些维成员构成。维的一个取值称为维的一个成员。如果维已经分成了若干个维层次,那么维成员就是不同维层次取值的组合。,1)维-维成员,6,维层(level)人们观察数据时,除了要
2、从某一个角度去观察外,还需要从不同的细节程度去观察,这些不同的细节程度就称为不同的维层次。如:销售地区维有分区、省、市,对于时间维有日、月、季度。,1)维-维层,7,维层次(hierarchy)在一个维中可以有多种分类方法,把每种分类方法叫做一个层次。如:时间维的两个层次。,1)维-维层次,8,维属性(attribute)维属性说明维成员所具有的特征。如:在地区维的商店这一层定义“负责人”、“商店类型”等属性,在城市层上定义“人口”、“面积”等属性。,1)维-维属性,9,度量是要分析的目标或对象,是多维数据集的核心值,是最终用户在数据仓库应用中需查看的数据。常见的度量有:销售量、供应量、营业额
3、等。通常是具体数据值。,2)度量,究竟想了解什么?,10,11,1.星形模型,星形模型是多维数据模型的基本结构,通常由一个很大的中心表(事实表)和一组较小的表(维度表)组成。,12,1.星形模型,13,2.雪花模型,14,4.3 多维分析操作4.4 多维查询语言,联机分析处理技术2,15,关系数据模型的核心概念是关系,基本操作是:选择、投影、链接。多维数据模型结构复杂,操作的种类也相对较多。常用的多维分析操作有:切片、切块、旋转、下钻、上卷,4.3 多维分析操作,16,聚集是对细节数据进行综合的过程,是多维分析的基础。最常用的5种聚集函数:求和计数求最大值求最小值求平均值,4.3.1 多维分析
4、基础:聚集,17,举例:零售商对产品的销售分析时,设置了时间维(Time)、地区维(Store)和商品维(Product),度量是销售额(Sales),其中该地区维是指商店所在地区。假设数据仓库中有一张销售表(如下图),只列出在时间T1、商品P1在济南地区的商店(S1、S2、S3)的销售额,分别为:(T1,S1,P1:100),(T1,S2,P1:78),(T1,S3,P1:97),4.3.1 多维分析基础:聚集,18,4.3.1 多维分析基础:聚集,19,如何获得济南地区在时间T1对商品P1的销售额?即如何获得数据单元(T1,“济南”,P1:X)即:X=sum(100,78,97),4.3.
5、1 多维分析基础:聚集,20,分布型聚集函数将数据分成n份,对其中的每一份应用该函数,可以得到n个聚集值,对这n个聚集值进行计算得到的结果如果和整个数据(不划分)应用该函数得出的结果一致,则称该函数是分布型的。count、sum、min、max,4.3.1 多维分析基础:聚集函数分类,21,代数型聚集函数如果一个函数可以由若干个分布型函数进行代数运算得出,则说该函数是代数型。Avg=sum/count,4.3.1 多维分析基础:聚集函数分类,22,整体型聚集函数如果一个函数不能由其它函数进行代数运算得出,则称其为整体。Median、rank在计算时,需要同时得到所有的数据,需要消耗较多的资源,
6、有较大的计算代价。,4.3.1 多维分析基础:聚集函数分类,23,多维分析操作是指对数据立方体执行切片、切块、旋转、下钻、上卷等各种分析操作,剖析数据,使用户能从多角度、多侧面观察数据库中的数据,从而深入了解包含在数据中的信息和内涵。,4.3.2 常用多维分析操作,24,1.切片(Slice),定义:在数据立方体的某一维上选定一个维成员的动作。有多维数据集(维1,维2,维i,维n,观察变量),如果确定了某个维成员维i 的值,则称:在维i上的一个切片为(维 1,维2,维i成员,维n,观察变量)。一个多维数组的切片最终是由该数组中除切片所在平面之外的其他成员值确定的。维是观察数据的角度,切片的作用
7、或结果是舍弃一些观察角度,以便集中观察该维的数据。,25,1.切片(Slice),26,2.切块(dice),定义:如果在一个多维数据集上对两个及其以上的维选定维成员的操作称为切块。如有多维数据集(维1,维2,维i,维k,维n,观察变量),对维i,维k,选定了维成员,那么(维1,维2,维i成员,维k成员,维n,观察变量)就是多维数据集(维1,维2,维i,维k,维n,观察变量)在维i,维k上的一个切块。,27,定义:改变数据立方体维的次序的动作。,3.旋转(rotate),28,3.旋转(rotate),29,举例:旋转前的维方向,3.旋转(rotate),30,旋转后的维方向(不同维度间的旋转
8、操作),3.旋转(rotate),31,旋转后的维方向(维度层次上的旋转操作),3.旋转(rotate),32,定义:是指在某一个分析过程中,用户可能需要从更多的维或者某个维的更细层次上来观察数据的操作。,4.下钻(drill down),33,定义:是与下钻操作相反的操作类型。是指为了看到更粗的数据的操作过程。,5.上卷(roll up),34,举例:,上卷,下钻,5.上卷(roll up),35,除上述几种常用多维分析操作以外,包有:维操作、属性操作等。,4.3.3 维操作与属性操作,36,维是多维数据模型中的核心概念。一个维中又包含有:层次、层和成员。,1)维操作,37,维的操作给定维标
9、识求维名字;给定维名字求维标识;求一个维中成员的个数。给定层次的标识或名,求层次中的所有层。给定层标识或名字,求层中成员的个数;,1)维操作,38,举例:结合下图,以时间维为例,给出的一些典型操作。求时间维中的成员个数:时间.counts,其中此处counts是操作符。求“2月份”的父成员:时间.年.季度.月.2月份.parent,得到的结果将是:时间.年.季度.第1季度。,1)维操作,39,目的:按照成员的属性进行特征分析。成员属性:用于进一步说明成员的特征。属性操作:丰富了多维数据分析,使得不仅可以根据层次进行操作,而且还可以按成员的属性进行特征分析。举例:商品维的层次为商品代码(Arti
10、calID)FamilyGroupAreaTop(如表4.5),商店维的层次为(ShopID)CityRegionCountryTop(如表4.6),2)属性操作,40,2)属性操作,41,其中:CAMC的Video在德国北部销售89台,南部销售137台,VCR.,2)属性操作,42,4.3 多维分析操作4.4 多维查询语言,联机分析处理技术2,43,MDX(多维表达式的英文首字母缩写词)是一种语法,支持多维对象与数据的定义和操作。提供了对数据立方体、维、度量等OLAP环境下的对象进行创建、修改、删除的命令。MDX查询的语法与 SQL 查询的语法类似。,4.4.1 MDX简介,44,MDX语句
11、的构成:查询所涉及的数据立方体;产生的结果数据集合中轴的个数;数据立方体的维与结果数据集合中轴的对应关系;每个维上所要查询的成员。,4.4.1 MDX简介,45,举例:假设要对一个具有三个维度的数据立方体SALESCUBE进行查询,该数据立方体的三个维度分别是时间维、地区维、产品维,有一个度量值:销售额sales。现在用户需要了解北京和上海第一季度和第二季度四月份所销售的电视机情况和在第一、二季度销售寸衣的情况,并且要求结果数据集合中产品维和时间维在同一个轴上。,4.4.1 MDX简介,46,该查询语句格式:SELECT(TV,Qtr1),(TV,Qtr2.Apr),(Clothes.Shri
12、t,Qtr1),(Clothes.Shrit,Qtr2)ON COLUMNSBeijing,Shanghai ON ROWSFROM SALESCUBE WHERE sales,4.4.1 MDX简介,47,有关说明:MDX关键字:SELECT、COLUMNS、ROWS、FROM、WHERE,4.4.1 MDX简介,48,查询结果:,4.4.1 MDX简介,49,50,4.3 多维分析操作4.4 多维查询语言4.5 多维数据展示,联机分析处理技术2,51,多维数据往往超过三维,如何在计算机屏幕上方便、清楚地展示三维分析的结果?,4.5 多维数据展示,52,要解决的主要问题:某个具体的维安排在空
13、间的哪个方向?如何展示维的层次?,4.5.1 三维数据展示,53,核心思想:切片嵌套:按照层的抽象程度,依次在水平和垂直方向排列。,4.5.1 三维数据展示,54,举例:假设一个数据立方体有时间维、地区维、商品维。商品维有两个层,具体商品层和商品大类层。时间维有年、季度、月和日4个层。地区维有商店、城市、地区和国家4个层。北京在2011年4个季度中部分商品的销售额如何展示?,4.5.1 三维数据展示,55,展示结果之一:,其它展示结果?,4.5.1 三维数据展示,56,基本思路:切片:按地区维,成员北京时间维和商品维分别安排在垂直和水平方向嵌套:时间维展示年、季度两层。商品维给出商品大类和具体商品两个层。,4.5.1 三维数据展示,57,高于三维的数据如何展示?方法:在水平或者垂直方向,用嵌套的方式表示多个维。,4.5.2 高维数据展示,58,举例:在前一例的数据立方体中增加一个维-场景,它有两个成员:计划、实际。增加这个维的目的是分析计划销售额和实际销售额的差异。如何布局展示?,4.5.2 高维数据展示,59,两种展示结果:展示结果之一,4.5.2 高维数据展示,60,展示结果之二,4.5.2 高维数据展示,61,