SAP BW数据仓库简介(一)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
本文从一个简单的业务场景-销售分析入手,介绍SAP BW(Business InfomationWarehouse)实现多维分析的基本方案与实现技术;结合销售分析的实际需求,给出了销售分析管理数据仓库在SAP BW(业务信息仓库)模块中的实现过程描述。
1、数据仓库的基本理论
1.1 数据仓库
数据仓库是对数据进行提炼、加工和集成含有一定量商务信息和意义的信息。
数据仓库不是为了存储数据,而是为更好地利用企业内所有可能收集到的数据进行决策支持。
数据仓库拥有以下四个特点:
(1) 面向主题。
在数据仓库中,数据被分类,并按业务数据主题的视角,对数据进行存贮。
在OLTP(联机事务处理on-line transaction processing)中,数据是按业务应用的视角进行组织和存贮。
(2) 集成。
某个业务主题所包括的数据不会存贮在多个业务主题中。
即某数据如果属于业务主题A,则不应该同时属于业务主题B。
(3) 具有时间特征。
存贮在数据仓库中的数据,均表示在某一时间点上所发生的事实,所以数据仓库的数据大部分都与时间相关,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。
(4) 相对稳定。
一般情况下,数据仓库中的数据不会被更改或删除。
1.2 数据仓库系统的体系结构
一般情况下,数据仓库系统是一个分层次的体系结构,如下图:
?
数据源:是数据仓库系统的基础,整个系统的数据源泉。
通常包括企业内部信息和外部信息。
数据存储与管理:是整个数据仓库系统的核心。
在现有各业务系统的基础上,对数据进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库元数据;数据仓库的管理包括数据的安全、归档、备份、维护、恢复等工作。
OLAP服务器:对分析需要的数据按照多维数据模型进行再次重组,以支持用户多角度、多层次的分析,发现数据趋势。
前端工具与应用:前端工具包括各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库开发的应用。
数据仓库不仅是存放数据的载体,还包括按照业务数据对业务系统数据进行整合处理的方法流程和构建在数据仓库的分析应用。
2 数据仓库的多维建模技术
2.1 建模原则
数据模型的创建直接反映业务需求,对系统的物理实施起着指导性的作用,是数据仓库的核心问题。
而数据仓库是面向主题的,一般按照主题来建模。
数据仓库建模在业务需求分析之后开始,是数据仓库构造的正式开始。
主流的数据仓库模型是由Kimball提出的多维模型。
该模型降低了范式化,以分析主题为基本框架来组织数据。
以多维模型开发分析主题,能够快速实施,迅速获得投资回报,在取得实际效果的基础上,再逐渐增加应用主题,循序渐进,积累经验,逐步建成企业级数据仓库。
在创建数据仓库的数据模型时应考虑:满足不同层次、用户的需求;兼顾查询效率与数据粒度的需求;支持用户需求变化;避免业务运营系统性能影响;提供可扩展性。
其中,数据模型的可扩展性决定了数据仓库对新的需求的适应能力,建模既要考虑眼前的信息需求,也要考虑未来的需求。
2.2 事实表和维表
事实表和维表是多维模型中的两个基本概念。
事实表是数据分析所对应的主要数据项,一般是企业内的某项业务或某个事件。
事实表中的事实一般具有数据特性和可加性,事实表中可以存储不同粒度的数据,同一主题中不同粒度的数据一般存储在不同的事实表中。
维表中包含的一般是描述性的文本信息,这些文本信息将成为事实表的检索条件。
维表中的维属性应该具体明确,体现出维层次的划分,能够成为分析型查询的约束条件,这是数据仓库与操作型应用在数据模型设计上的一个不同点。
维表层次的级别数量取决于查询的粒度。
在实际业务环境中,多维数据模型一般含有4~15维,更多的维数或更少的维数一般都很少见。
在具体工作中,设计人员一定要根据企业的实际情况确定相应的维。
在多维模型中,事实表的主码是组合码,维表的主码是简单码,事实表中与维表主码相对应的各个组成部分是外码。
事实表通过与各维相对应的外码值同维表联系在一起。
查询时通过事实表和维表之间的这种对应关系。
2.3 星形模型
多维数据建模以直观的方式组织数据,并支持高性能的数据访问。
每一个多维数据模型由多个多维数据模式表示,每一个多维数据模式都是由一个事实表和一组维表组成的。
多维模型最常见的是星形模式。
在星形模式中,事实表居中,多个维表呈辐射状分布于其四周,并与事实表连接。
位于星形中心的实体是指标实体,是用户最关心的基本实体和查询活动的中心,为数据仓库的查询活动提
供定量数据。
每个指标实体代表一系列相关事实,完成一项指定的功能。
位于星形图星角上的实体是维度实体,其作用是限制用户的查询结果,将数据过滤使得从指标实体查询返回较少的行,从而缩小访问范围。
每个维表有自己的属性,维表和事实表通过关键字相关联。
3、SAP BW数据仓库解决方案
3.1 BW 产品
SAP是全球最大的企业管理和协同化商务解决方案供应商、全球第三大独立软件供应商。
目前,在全球有120多个国家的超过76,000家用户正在运行SAP软件。
财富500强80%以上的企业都正在从SAP的管理方案中获益。
SAP BW解决方案,是数据仓库技术在SAP平台上的具体应用,通过预先内置大量标准模板,将数据仓库技术与各行业各模块的业务紧密结合,快速实现企业各个应用的信息整合,提供灵活的多维度的联机数据分析,强调长期(以年为单位)数据积累和分析指标的汇总计算,提供强大的报表设计功能,方便用户进行特殊报表的个性定制,提供回归、聚类、决策树等灵活的数据挖掘功能,提供一定的报表美化、自动批处理、分发和预警功能。
BW是端对端的数据仓库解决方案,它采用了SAP公司企业解决方案中的众多技术,基于三层体系结构构建,编程语言是ABAP(Advanced Business ApplicationProgramming,高级企业应用程序),它使用ALE (Application Link Enabling,应用程序链接)和BAPI(Business Application Programming Interface,企业应用编程接口)来链接BW与SAP系统以及其它非SAP系统。
BW 的产品结构图
BW数据仓库的核心工具都位于Adminstrator Workbench中,主要功能包括:数据建模,数据抽取,流程管理和数据仓库的管理。
ADMINISTRATOR WORKBENCH
它是SAP BW数据仓管理管理的继承界面(AWB),事务代码为RSA1。
他为数据抽取,存储和处理提供了控制,监视和维护工具。
AWB的主要区域包括Modeling,Monitoring,Reporting Agent,transport connection,document,business content,translation和metadata epository。
从功能上,BW与其他类似产品有两个特点:
1、BW只支持最多13个自定义的维度。
(SAP文档介绍,这个限制的原因是,sap维度依赖于数据库中的关键字段,大多书数据库只支持16个关键字段,sap自己用了3个)
2、BW有一个亮点是:能定义依赖于时间的维度层次结构。
比如说在公司-》部门-》项目的维度层次结构中,项目A在2000年属于部门1,在2001年,被调整到部门2了,这一特点非常有用。
3.2 BW的体系结构
上图显示了BW的三层体系结构:
1、顶层是报表环境。
它可以是BW的企业资源管理器(Business Explorer,BEx)或者第三方的报表工具。
BEx包括两个组件:
(1)BEx分析器。
是内嵌了BW的Microsoft Excel,它具有易于使用的图形界面,用户不必编写sql语句就可创建查询。
(2)BEx浏览器。
其工作方式类似于一个信息中心,它使得用户可以组织并访问各种各样的信息。
第三方报表工具通过ODBO(OLAP的OLE OB)与BW的OLAP处理器相连。
2、中间层是BW服务器。
它主要执行三方面的任务:
(1)管理BW系统
(2)存储数据
(3)根据用户的请求检索数据。
3、底层由源数据系统组成。
它可以是SAP的R/3系统、BW系统、平面文件以及其他的系统。
通过抽取器(即所谓的ABAP程序)实现与SAP系统相连,通过ALE将平面文件与BW或R/3相连,通过BAPI与非SAP系统相连。
3.3 BW业务目录
BW的最大卖点之一在于它的业务目录。
业务目录包含一些标准的报表和其他相关对象。
例如,BW给销售经理提供了如下一些标准报表:
1、报价处理。
(例如各销售区域报价的成功率,各销售区域的报价跟踪,各销售区域总体报价信息等)
2、订单处理。
(每月的订单和收益,销售价值,账单文档,订单、运输和销售数量,订单满足率,信誉记录,到达订单的返回率,各客户的平均返还次数,返还的数量和价值,产品分析,产品盈利分析等)
3、运输。
(各销售区域的运输延误,平均运输处理次数等)
4、分析和比较。
(销售/成本分析,高盈利性客户分析,分销渠道分析,产品盈利性分析,每周运输统计,每月运输统计,到达订单分析,销量比较,销售额比较,各客户的平均利润,产品分析,每月到达订单和收益汇总等)
5、行政和管理功能。
(成本中心:计划/实际/偏差等等)
BW丰富的业务目录有效的缩短了BW的实施周期,降低了实施难度,本文销售分析的实例也主要基于业务目录直接构建各类报表,从而将工作的重点放在数据仓库的构建上。
3.4 BW项目实施方法论
实施SAP BW项目,需要一个理想的项目团队,一般来说,需要包括下述人员:
数据仓库设计师:负责监督整个项目,特别是结构设计和系统整合。
企业分析师:负责获取企业需求和源数据系统的数据模型,特别是R/3系统。
技术开发员:必须熟悉BW,ABAP,ALE/Idoc以及VB,并且能够创建BW对象和用户界面友好的报告。
基础平台和数据库管理员:负责安装、维护BW系统、系统概貌、BW系统之间的通讯以及源系统。
实际实施过程中,还要遵循一定的规则和步骤,下面是SAP提供的简化的BW项目规划方案:整个项目实施分为“设计-开发-测试-培训-上线”五个阶段组织。
阶段1:设计
编号任务资源
1 定义企业报告和OLAP需求,包括技术需求,比如预期响应时间数据仓库设计师、企业分析师、技术开发人员
2 在考虑数据标志,多立方体,信息立方体,ODS对象及R/3报告功能基础上设计企业报告和OLAP结构?
3 检查有多少业务目录可以供食用
4 定义用户授权需求?
5 开发符合命名规定的BW对象?
6 进行设计预排?
阶段2:开发
编号任务资源
1 安装BW沙盘(按照最低硬件要求安装)基础平台和数据库管理员
2 使用沙盘进行概念测试,并对项目进行培训项目组全体人员
3 以sandbox为底线,以ASAP SIZING文档为参考,确定开发系统的大小数据仓库设计师,基础平台和
数据库管理员
4 安装BW开发系统基础平台和数据库管理员
5 在开发系统创建BW对象并建立仓库技术开发员
6 向系统加载OLAP数据,包括R/3数据项目组
7 调试数据加载性能项目组
8 创建,测试并调试查询?
9 检查建立的数据仓库是否与设计文档冲突数据仓库设计师,企业分析师,技术开发员
阶段3:测试
编号任务资源
1 以开发系统为底线,以ASAP SIZING文档为参照,确定质量保证系统的大小数据仓库设计师,基础平台和数据库管理员
2 安装质量保证系统基础平台和数据库管理员
3 向质量保证系统传输BW对象技术开发员,基础平台和数据库管理员
4 进行功能测试和性能测试;使用来自MERCURY INTERATIVE的工具,如:LoadRunner,Winrunner,可能非常有帮助项目组全体成员
5 如果有必要,对开发系统中的BW对象修改,并把它传输到质量保证系统技术开发人员
6 检查测试结果是否与设计文档相矛盾项目组全体人员
阶段4:培训
编号任务资源
1 根据设计文档开发最终用户培训资料企业分析师
2 如果正式成品系统尚未建立,就仿照质量保证系统建立培训系统,如果建立了成品系统,就仿照正式上线系统建立培训系统基础平台和数据库管理员
3 在培训期间对培训系统中的查询性能进行调试项目组全体人员
4 测试为用户设置的授权?
阶段5:上线
编号任务资源
1 以培训系统为底线,以ASAP sizing文档为参照,确定正式成品系统的大小数据仓库设计师,基础平台和数据库管理员
2 安装预成品系统基础平台和数据库管理员
3 把BW对象从开发系统传输到正式成品系统,向正式成品系统中加载生产OLAP数据,包括R/3数据技术开发员,基础平台和数据库管理员
4 根据质量保证系统和培训系统的经验,调整查询和加载性能项目组全体人员
5 建立帮助服务台,向最终用户提供支持
6 运行
7 监控运行,识别热点问题。