您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 数据仓库5-联机分析处理技术2
1第5讲联机分析处理技术22多维数据模型构成的多维数据空间称作为数据立方体(DataCube,简记为cube)。是从不同角度对同一数据进行观察得到的数据交点。数据立方体3一个二维数据立方体对应的某地区商店销售额表数据立方体时间(季度)产品类型彩电冰箱洗衣机家用电器第一季度500万200万240万1500万第二季度200万300万420万2100万第三季度240万500万250万1000万第四季度80万100万320万1700万4商店销售额表的三维数据立方体数据立方体5维是观察数据的特定角度,是每个事物的属性。每个维都有一个唯一的名字,如:时间维、地区维、产品维等。1)维6维成员(member)维由一些维成员构成。维的一个取值称为维的一个成员。如果维已经分成了若干个维层次,那么维成员就是不同维层次取值的组合。1)维-维成员商品城市日期牛奶浴巾毛巾可乐果汁4321北京上海长沙广州武汉商品、城市、日期维工业国家年商品市日类别省月7维层(level)人们观察数据时,除了要从某一个角度去观察外,还需要从不同的细节程度去观察,这些不同的细节程度就称为不同的维层次。如:销售地区维有分区、省、市,对于时间维有日、月、季度。1)维-维层8维层次(hierarchy)在一个维中可以有多种分类方法,把每种分类方法叫做一个层次。如:时间维的两个层次。1)维-维层次年季度月星期日9维属性(attribute)维属性说明维成员所具有的特征。如:在地区维的商店这一层定义“负责人”、“商店类型”等属性,在城市层上定义“人口”、“面积”等属性。1)维-维属性10度量是要分析的目标或对象,是多维数据集的核心值,是最终用户在数据仓库应用中需查看的数据。常见的度量有:销售量、供应量、营业额等。通常是具体数据值。2)度量商品城市日期牛奶浴巾毛巾可乐果汁4321北京上海长沙广州武汉究竟想了解什么?11121.星形模型星形模型是多维数据模型的基本结构,通常由一个很大的中心表(事实表)和一组较小的表(维度表)组成。131.星形模型142.雪花模型154.3多维分析操作4.4多维查询语言联机分析处理技术216关系数据模型的核心概念是关系,基本操作是:选择、投影、链接。多维数据模型结构复杂,操作的种类也相对较多。常用的多维分析操作有:切片、切块、旋转、下钻、上卷4.3多维分析操作17聚集是对细节数据进行综合的过程,是多维分析的基础。最常用的5种聚集函数:求和计数求最大值求最小值求平均值4.3.1多维分析基础:聚集18举例:零售商对产品的销售分析时,设置了时间维(Time)、地区维(Store)和商品维(Product),度量是销售额(Sales),其中该地区维是指商店所在地区。假设数据仓库中有一张销售表(如下图),只列出在时间T1、商品P1在济南地区的商店(S1、S2、S3)的销售额,分别为:(T1,S1,P1:100),(T1,S2,P1:78),(T1,S3,P1:97)4.3.1多维分析基础:聚集19TimeStoreProductSalesT1S1P1100T1S2P178T1S3P1974.3.1多维分析基础:聚集20如何获得济南地区在时间T1对商品P1的销售额?即如何获得数据单元(T1,“济南”,P1:X)即:X=sum(100,78,97)4.3.1多维分析基础:聚集21分布型聚集函数将数据分成n份,对其中的每一份应用该函数,可以得到n个聚集值,对这n个聚集值进行计算得到的结果如果和整个数据(不划分)应用该函数得出的结果一致,则称该函数是分布型的。count、sum、min、max4.3.1多维分析基础:聚集函数分类22代数型聚集函数如果一个函数可以由若干个分布型函数进行代数运算得出,则说该函数是代数型。Avg=sum/count4.3.1多维分析基础:聚集函数分类23整体型聚集函数如果一个函数不能由其它函数进行代数运算得出,则称其为整体。Median、rank在计算时,需要同时得到所有的数据,需要消耗较多的资源,有较大的计算代价。4.3.1多维分析基础:聚集函数分类24多维分析操作是指对数据立方体执行切片、切块、旋转、下钻、上卷等各种分析操作,剖析数据,使用户能从多角度、多侧面观察数据库中的数据,从而深入了解包含在数据中的信息和内涵。4.3.2常用多维分析操作251.切片(Slice)定义:在数据立方体的某一维上选定一个维成员的动作。有多维数据集(维1,维2,……,维i,……,维n,观察变量),如果确定了某个维成员维i的值,则称:在维i上的一个切片为(维1,维2,……,维i成员,……,维n,观察变量)。一个多维数组的切片最终是由该数组中除切片所在平面之外的其他成员值确定的。维是观察数据的角度,切片的作用或结果是舍弃一些观察角度,以便集中观察该维的数据。261.切片(Slice)272.切块(dice)定义:如果在一个多维数据集上对两个及其以上的维选定维成员的操作称为切块。如有多维数据集(维1,维2,……,维i,……,维k,……,维n,观察变量),对维i,……,维k,选定了维成员,那么(维1,维2,……,维i成员,……,维k成员,……,维n,观察变量)就是多维数据集(维1,维2,……,维i,……,维k,……,维n,观察变量)在维i,……,维k上的一个切块。28定义:改变数据立方体维的次序的动作。3.旋转(rotate)293.旋转(rotate)30举例:旋转前的维方向2002年2003年1季度2季度3季度4季度1季度2季度3季度4季度北京市123564566134562355上海市13410398871021399782天津市67735996736962943.旋转(rotate)31旋转后的维方向(不同维度间的旋转操作)北京市上海市天津市2002年1季度123134672季度56103733季度4598594季度6687962003年1季度134102732季度56139693季度2397624季度5582942002年2003年1季度2季度3季度4季度1季度2季度3季度4季度北京市123564566134562355上海市13410398871021399782天津市67735996736962943.旋转(rotate)32旋转后的维方向(维度层次上的旋转操作)2002年2003年1季度2季度3季度4季度1季度2季度3季度4季度北京市123564566134562355上海市13410398871021399782天津市67735996736962941季度2季度3季度4季度20022003200220032002200320022003北京市123134565645236655上海市13410210313998978782天津市67737369596296943.旋转(rotate)33定义:是指在某一个分析过程中,用户可能需要从更多的维或者某个维的更细层次上来观察数据的操作。4.下钻(drilldown)34定义:是与下钻操作相反的操作类型。是指为了看到更粗的数据的操作过程。5.上卷(rollup)35举例:表1(单位:万美元)部门销售部门190部门260部门3802004年部门1季度2季度3季度4季度部门120203515部门22551515部门320151827上卷下钻5.上卷(rollup)36除上述几种常用多维分析操作以外,包有:维操作、属性操作等。4.3.3维操作与属性操作37维是多维数据模型中的核心概念。一个维中又包含有:层次、层和成员。1)维操作销售地区西南华中华东四川云南河南湖北江苏上海维成员一个具有2个层次的销售地区维上的取值38维的操作给定维标识求维名字;给定维名字求维标识;求一个维中成员的个数。给定层次的标识或名,求层次中的所有层。给定层标识或名字,求层中成员的个数;1)维操作39举例:结合下图,以时间维为例,给出的一些典型操作。求时间维中的成员个数:时间.counts,其中此处counts是操作符。求“2月份”的父成员:时间.年.季度.月.2月份.parent,得到的结果将是:时间.年.季度.第1季度。年季度月星期日1)维操作40目的:按照成员的属性进行特征分析。成员属性:用于进一步说明成员的特征。属性操作:丰富了多维数据分析,使得不仅可以根据层次进行操作,而且还可以按成员的属性进行特征分析。举例:商品维的层次为商品代码(ArticalID)→Family→Group→Area→Top(如表4.5),商店维的层次为(ShopID)→City→Region→Country→Top(如表4.6)2)属性操作412)属性操作42其中:CAMC的Video在德国北部销售89台,南部销售137台,VCR...2)属性操作434.3多维分析操作4.4多维查询语言联机分析处理技术244MDX(多维表达式的英文首字母缩写词)是一种语法,支持多维对象与数据的定义和操作。提供了对数据立方体、维、度量等OLAP环境下的对象进行创建、修改、删除的命令。MDX查询的语法与SQL查询的语法类似。4.4.1MDX简介45MDX语句的构成:查询所涉及的数据立方体;产生的结果数据集合中轴的个数;数据立方体的维与结果数据集合中轴的对应关系;每个维上所要查询的成员。4.4.1MDX简介46举例:假设要对一个具有三个维度的数据立方体SALESCUBE进行查询,该数据立方体的三个维度分别是时间维、地区维、产品维,有一个度量值:销售额sales。现在用户需要了解北京和上海第一季度和第二季度四月份所销售的电视机情况和在第一、二季度销售寸衣的情况,并且要求结果数据集合中产品维和时间维在同一个轴上。4.4.1MDX简介47该查询语句格式:SELECT{(TV,Qtr1)},{(TV,Qtr2.Apr)},{(Clothes.Shrit,Qtr1)},{(Clothes.Shrit,Qtr2)}ONCOLUMNS{Beijing,Shanghai}ONROWSFROMSALESCUBEWHEREsales4.4.1MDX简介48有关说明:MDX关键字:SELECT、COLUMNS、ROWS、FROM、WHERE4.4.1MDX简介49查询结果:4.4.1MDX简介50514.3多维分析操作4.4多维查询语言4.5多维数据展示联机分析处理技术252多维数据往往超过三维,如何在计算机屏幕上方便、清楚地展示三维分析的结果?4.5多维数据展示53要解决的主要问题:某个具体的维安排在空间的哪个方向?如何展示维的层次?4.5.1三维数据展示54核心思想:切片嵌套:按照层的抽象程度,依次在水平和垂直方向排列。4.5.1三维数据展示55举例:假设一个数据立方体有时间维、地区维、商品维。商品维有两个层,具体商品层和商品大类层。时间维有年、季度、月和日4个层。地区维有商店、城市、地区和国家4个层。北京在2011年4个季度中部分商品的销售额如何展示?4.5.1三维数据展示56展示结果之一:其它展示结果?4.5.1三维数据展示57基本思路:切片:按地区维,成员北京时间维和商品维分别安排在垂直和水平方向嵌套:时间维展示年、季度两层。商品维给出商品大类和具体商品两个层。4.5.1三维数据展示58高于三维的数据如何展示?方法:在水平或者垂直方向,用嵌套的方式表示多个维。4.5.2高维数据展示59举例:在前一例的数据立方体中增加一个维---场景,它有两个成员:计划、实际。增加这个维的目的是分析计划销售额和实际销售额的差异。如何布局展示?4.5.2高维数据展示60两种展示结果:展示结果之一4.5.2高维数据展示61展示结果之二4.5.2高维数据展示
本文标题:数据仓库5-联机分析处理技术2
链接地址:https://www.777doc.com/doc-26810 .html