1第5章基于数据仓库的决策支持系统(2)2第(2)部分5.2联机分析处理5.3数据仓库的决策支持35.2联机分析处理5.2.1基本概念5.2.2OLAP数据组织5.2.3OLAP的决策支持:多维数据分析5.2.4OLAP的应用实例4联机分析处理(OnLineAnalyticalProcessing,OLAP)的概念最早是由关系数据库之父E.F.Codd于1993年提出的。在数据仓库系统中,联机分析处理是重要的数据分析工具。OLAP的基本思想是从多方面和多角度以多维的形式来观察企业的状态和了解企业的变化。5.2.1基本概念5OLAP是在OLTP的基础上发展起来的。OLTP是以数据库为基础的,面对的是操作人员和低层管理人员,对基本数据的查询和增、删、改等进行处理。OLAP是以数据仓库为基础的数据分析处理。它有两个特点:一是在线性(OnLine),由客户机/服务器这种体系结构来完成的;二是多维分析,这也是OLAP的核心所在。1、OLAP的定义联机分析处理是共享多维信息的快速分析。它体现了四个特征:(1)快速性:用户对OLAP的快速反应能力有很高的要求(2)可分析性:OLAP系统应能处理任何逻辑分析和统计分析。(3)多维性:系统必须提供对数据分析的多维视图和分析(4)信息性:OLAP系统应能及时获得信息,并且管理大容量的信息。71993年,E.F.Codd提出OLAP的12条准则,其主要的准则有:多维数据分析;客户/服务器结构;多用户支持;一致的报表性能等。2、OLAP准则81.多维概念视图企业的数据空间本身就是多维的。因此OLAP的概念模型也应是多维的。用户可以对多维数据模型进行切片、切块、旋转坐标或进行多维的联合(概括和聚集)分析。94.稳定的报表性能报表操作不应随维数增加而削弱,即当数据维数和数据的综合层次增加时,提供的报表能力和响应速度不应该有明显的降低。105.客户/服务器体系结构OLAP是建立在客户/服务器体系结构上的。要求多维数据库服务器能够被不同的应用和工具所访问。118.多用户支持当多个用户要在同一分析模式上并行工作,需要这些功能的支持。11.灵活的报表生成报表必须充分反映数据分析模型的多维特征,并可按用户需要的方式来显示它。OLAP是针对特定问题的联机数据访问和分析。(1)变量:变量是数据的实际意义,即描述数据“是什么”。(2)维:维是人们观察数据的特定角度。如产品维、顾客维、时间维等。(3)维的层次:数据的细节不同程度为维的层次。如日、月、季、年是时间维的层次。(4)维成员:维的一个取值称为该维的一个维成员。如“某年某月某日”是时间维的一个成员。3、OLAP的基本概念(5)多维数组:一个多维数组可以表示为:(维1,维2,……,维n,变量)一个5维的结构,即(产品,地区,时间,销售渠道,销售额)(6)数据单元(单元格):多维数组的取值称为数据单元。如:5维数据单元(牙膏,上海,1998年12月,批发,销售额为100000)。(1)OLTPOLTP是低层人员利用计算机网络对数据库中的数据进行查询、增、删、改等操作,以完成事务处理工作。OLTP利用数据库快速地处理具体业务。OLTP应用要求多个查询并行。4、OLAP与OLTP的关系与比较(2)OLAPOLAP是高层人员对数据仓库进行信息分析处理。①存取大量的数据②包含聚集的数据③按层次对比不同时间周期的聚集数据④以不同的方式来表现数据⑤要包含数据元素之间的复杂的计算⑥能够快速的响应用户的查询(3)OLAP与OLTP对比(对比表)OLTPOLAP数据库数据数据仓库数据细节性数据综合性数据当前数据历史数据一次性处理的数据量小一次处理的数据量大对响应时间要求高响应时间合理用户数量大用户相对较少面向应用,事务驱动面向分析,分析驱动175.2.2OLAP的数据组织MOLAP和ROLAP是OLAP的两种具体形式:ROLAP是基于关系数据库存储方式建立的OLAP。多维数据映射成平面型的关系表。采用星型模型。18MOLAP是基于多维数据库存储方式建立的OLAP;表现为“超立方”结构,类似于多维数组的结构。在分析中,需要“旋转”数据立方体以及“切片”、“切块”等操作。MOLAP和ROLAP的对比表MOLAPROLAP固定维可变维维交叉计算多维视图行级计算超大型数据库读-写应用维数据变化速度快数据集市数据仓库20例如,以“产品、城市、时间”三维数据,如图时间城市产品电视机电冰箱广州上海95965.2.3OLAP的决策支持:OLAP多维数据分析211、切片和切块对三维数据,通过“切片”,分别从城市和产品等不同的角度观察销售情况:电视机电冰箱广州上海222、钻取钻取:例如,2005年各部门销售收入表如下:部门销售数据表部门销售部门1900部门2650部门380023对时间维进行下钻到季度操作,获得新表如下:2005年部门1季度2季度3季度4季度部门1200200350150部门225050150150部门3200150180270243.旋转通过旋转可以得到不同视角的数据。旋转操作相当于平面数据将坐标轴旋转。或是把页面显示中的一个维和页面外的维进行交换(令其成为新的行或列中的一个)25旋转时间维产品维产品维时间维(a)行列交换旋转以改变显示布局时间维地区维产品维时间维产品维地区维262005年2006年部门1季度2季度3季度4季度1季度2季度3季度4季度部门1200200350150120200250140部门225050150150200180230120部门3200150180270180200170250旋转前的数据实例271季度2季度3季度4季度部门05年06年05年06年05年06年05年06年部门1200120200200350250150140部门225020050180150230150120部门3200180150200180170270250旋转后的数据281季度2季度3季度4季度年龄05年06年05年06年05年06年05年06年2010060805010050504050x2030023011025027033020022050250210210280310270320250旋转后再切片292、广义OLAP功能1、基本代理操作“代理”是一些智能性代理,当系统处于某种特殊状态时提醒分析员。(1)示警报告定义一些条件,一但条件满足,系统会提醒分析员去做分析。如每日报告完成或月定货完成等通知分析员作分析。(2)异常报告当超出边界条件时提醒分析员。如销售情况已超出预定义阈值的上限或下限时提醒分析员。302、计算能力计算引擎用于特定需求的计算或某种复杂计算。3、模型计算增加模型,如增加系统优化、统计分析、趋势分析等模型,以提高决策分析能力。31假设有一个5维数据模型,5个维分别为:商店,方案,部门,时间,销售。1.三维表查询在指定“商店=ALL,方案=现有”情况的三维表(行为部门,列为时间和销售量)5.2.4、OLAP的应用实例20082009%增长率销售量利润增长%销售量利润增长%销售量利润增长服装234,67027.2381,10221.562.4(20.0)家具62,54833.866,00531.15.6(8.0)汽车375,09822.4325,40227.2(13.2)21.4所有其它202,38821.3306,67721.750.71.9指定商店、方案后的三维表20082009%增长率销售利润增长%销售利润增长%销售利润增长汽车375,09822.4325,40227.2(13.2)21.4维修195,05114.2180,78615.0(7.3)5.6附件116,28043.9122,54547.55.38.2音乐63,7678.222,07114.2(63.4)7.32、向下钻取对汽车部门向下钻取出具体项目的销售情况和利润增长情况。2009Sales服装381,102家具66,005汽车325,402所有其它306,6773、切片表切片(Slice)操作是除去一些列或行不显示2009销售量现有计划差量差量%服装381,102350,00031.18.9家具66,00569,000(2,995)(4.3)汽车325,402300,00025,4028.5所有其它306,677350,000(44,322)12.74、旋转表这次旋转操作得到2009年的交叉表方案为:现有、计划、差量、差量%。365.3.1查询与报表5.3.2多维分析与原因分析5.3.3預测未来5.3.4实时决策5.3.5自动决策5.3数据仓库的决策支持375.3.1查询与报表查询和报表是数据仓库的最基本、使用的最多的决策支持方式。通过查询和报表使决策者了解“目前发生了什么”。38查询服务(1)查询定义。能够容易地将商业需求转换成适当的查询语句。(2)查询简化。让用户能够简单地查看数据的结构和属性。(3)导航。用户能够使用元数据在数据仓库中浏览数据。(4)结果显示。能够以各种方法显示查询结果。(5)对聚集的查询。能够将查询重新定义到聚集表格上,以加快检索速度。392、报表(1)预格式化报表。用户能够容易选择他们需要的报表。(2)参数驱动的预定义报表。用户必须有能力来设置它们自己的参数,用预定义格式创建报表。(3)简单的报表开发。用户能够利用报表语言撰写工具来开发他们自己的报表。(4)多数据操作选项。用户通过交换行和列变量来实现结果的旋转,在结果中增加小计和最后的总计,以及改变结果的排列顺序等操作。(5)多种展现方式选项。提供多种类型的选项,包括图表、表格、柱形格式、字体、风格、大小和地图等。405.3.2多维分析与原因分析多维分析与原因分析能让决策者了解“为什么会发生”。1、多维分析获得在各种不同维度下的实际商业活动值(如销售量等),特别是他们的变化值和差值,达到辅助决策效果。2、原因分析查找问题出现的原因是一项很重要的决策支持任务,一般通过多维数据分析的钻取操作来完成。41例如,某公司从分析报表中得知最近几个月来整个企业的利润在急速下滑,通过人机交互找出该企业利润下滑的原因。具体步骤如下:(1)查询整个公司最近3个月来各个月份的销售额和利润,通过检索数据仓库中的数据显示销售额正常,但利润下降。(2)通过多维数据的切块,查询全世界各个区域每个月的销售额和利润,显示欧洲地区销售额下降,利润急剧下降,其它地区正常。42(3)通过对多维数据的钻取,查询欧洲各国销售额和利润。显示一些国家利润率上升,一些国家持平,欧盟国家利润率急剧下降。(4)通过对多维数据的钻取,查询欧盟国家中的直接和间接成本。得到欧盟国家的直接成本没有问题,但间接成本提高了。(5)通过钻取查看详细数据,查询间接成本的详细情况。得出企业征收了额外附加税,使利润下降。通过以上的原因分析,得到企业利润下滑的真正原因是欧盟国家征收了额外附加税造成。435.3.3預测未来预测未来使决策者了解“将要发生什么”。从历史数据中找出变化规律,将可以用来预测未来。需要用到一些预测模型。最常用的预测方法是采用回归模型。预测时,代入预测的时间到回归方程中去就能得到预测值。一般的预测模型有:多元回归模型、三次平滑预测模型,生长曲线预测模型等。445.3.4实时决策数据仓库的第4种决策支持是企业需要准确了解“正在发生什么”,从而需要建立动态数据仓库(实时数据库),用于支持战术型决策,即实时决策。有效地解决当前的实际问题。第1到第3种决策支持的数据仓库都以支持企业内部战略性决策为重点,帮助企业制定发展战略。第4种决策支持侧重在战术性决策支持。动态数据仓库能够逐项产品、逐个店铺、逐秒地作出最佳决策支持。455.3.5自动决策数据仓库的第5种决策支持是由事件触发,利用动态数据库自动决策,达到“希望发生什么”。例如,电子货架标签技术结合动态数据仓库,可以帮助企业按照自己的意愿,实现复杂的价格管理自动化;对于库存过大的季节性货物,这项技术会自动实施复杂的降价策略,以便以最低的损耗售出最多的存货。465.4.3数据仓库应用实例NCR公