SAP BW数据仓库简介

 

本文从一个简单的业务场景-销售分析入手,介绍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

监控运行,识别热点问题

 

4、BW在销售分析中的具体应用

4.1 需求描述

假设一个负责规划和实施销售战略的销售经理,工作任务是:

(1)监控和预测销售需求以及价格变动趋势

(2)管理销售目标,协调销售力量和分析商

(3)审查每个销售代表,办公室和地区的销售活动

而且还假设该经理拥有下表所示的有关物料、客户和销售组织的数据。

表一: 物料

物料编号

物料名称

物料描述

MAT001

冰茶

MAT002

咖啡

热咖啡

MAT003

小甜饼

“财富”牌小甜饼

MAT004

办公桌

电脑桌

MAT005

餐桌

餐桌

。。。。。。

  

MAT015

桔子

加利福尼亚桔子

表二:客户

客户标识

客户名称

客户地址

CUST001

Reliable运输公司

TransportDrive ,Atlanta,GA 23002

…….

  

CUST012

Airspace Industries公司

AirLane,Seattle,WA83476

表三:销售组织

销售区域

销售办公室

销售代表

销售代表标识

东部地区

亚特兰大

John

SREP01

纽约

Steve

SREP02

 

Mary

SREP03

中西部地区

达拉斯

Michael

SREP04

 

Lisa

SREP05

芝加哥

Kevin

SREP06

 

Chris

SREP07

西部地区

丹佛*

Sam

SREP08

洛杉矶

Eugene

SREP09

西雅图

Mark

SREP10

*2001年1月1日前,丹佛的办公室位于中西部地区

表四:3年的销售数据

客户标识

销售代表标识

物料编号

销售单价

单位

销量

交易日期

CUST001

SREP001

MAT001

2

1

19980304

CUST002

SREP002

MAT002

2

2

19990526

……….

      

………

      

CUST011

SREP011

MAT015

2

3

20000705

CUST011

SREP011

MAT015

3.5

4

20011225

上述数据只是一个简化的业务场景,实际中,数据的规模是非常大的,对这类的在线分析处理(OLAP)所消耗的计算机资源非常大,他不可能在一个业务数据库系统内通过OLTP执行,因此,我们需要构造一个专门的数据仓库系统来完成该任务。

4.2 数据建模

本例按照星型结构进行建模,其结构如下图所示:

事实表---位于中间,维度表位于事实表周围,本例中涉及“客户”,“物料”和“销售代表”三个维度(实际上这里还有两个共有的维度,时间和单位)。

一般来说该表往往非常大,通常以GB来衡量,用户感兴趣的数据就是从该表进行检索,维度表的规模一般只有事实表的1-5%。事实表和维度表通过外键进行关联。

4.3 ETTL过程

构建数据仓库有一个关键的步骤:从不同的数据源中抽取、传输、转换和加载数据到一个数据仓库,即所谓的ETTL过程。 ETL是BI/DW的核心和灵魂,是数据仓库的入口,它将数据从OLTP、外部数据源、脱机的数据介质中导入DW,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。

1、抽取数据时,即完成从源系统(例如R/3系统)移出数据。该步的关键是识别合适的数据,因此,对于源数据系统很好的理解是基础。

2、数据传输时,有规则的将不同源数据系统的大量数据移动到数据仓库中,这里的关键是规划出一个符合实际的数据传输计划,并且拥有可靠的快速网络。

3、数据转换时,对数据要进行格式化处理,从而保证数据在数据仓库中保持一致。这里要面对众多挑战,不同的名称,不同的数据类型,不同的文件系统,不同的文件格式等,都需要在数据转换中正确处理。

4、数据加载,就是将数据正确、快速的加载到事实表中。这一过程的关键在于开发一个稳定的、好的错误处理程序。

ETTL是一个复杂的,需要花费大量时间的任务。任何错误都有可能危害到数据的质量,而数据质量直接影响到企业决策的制定,因此,对于数据仓库项目来说,能在计划的时间和既定的预算内完成具有很大的挑战。

4.4 BW实际操作过程
4.4.1创建信息立方体

在BW中,客户标识、物料编号、销售代表标识、度量单位以及交易日期成为特征,客户姓名和客户地址都是客户标识的属性(虽然它们实际上也是特征)。销售单价,销售数量和销售收益被称为主特征(key figure),特征和主特征都称为InfoObject。

主特征可以是一个特征的属性。例如销售单价可以物料编号的一个属性,在该实例中,销售单价是事实表的一个主特征。InfoObject类似于砖块,我们使用InfoObject构建InfoCube,InfoCube是由星型架构中的事实表及其相关维度表组成。

利用BW图形界面,可以方便的按照下面的5步,创建信息立方体(具体操作步骤略)。

1、创建InfoArea。InfoArea类似于一个工地,信息立方体就在这个工地中建立。

2、创建InfoObject编录。

3、创建InfoObject-特征

4、创建InfoObject-主特征

5、创建信息立方体

4.4.2加载数据到信息立方体

创建了信息立方体,就可以将本例中描述的数据加载到这个信息立方体中,BW系统可以通过下面的步骤方便的完成数据的加载过程。

1、创建一个源系统。BW可以接受来自各种源系统的数据,包括R/3系统,BW系统,平面文件,利用第三方ETTL工具的外部系统等。

2、创建一个应用程序组件。Bw中,Infosource和infopackage使用应用程序组件的树状结构组织。

3、为特征数据创建Infosource

4、创建InfoPackage来加载特征数据

5、检查所加载的特征数据

6、手工输入主数据、文本和层级

7、为交易过程创建Infosource

8、创建信息立方体的更新规则

9、创建InfoPackge来加载交易数据

4.4.3 检查数据质量

信息立方体的数据质量对于整个系统而言至关重要,SAP BW提供了有效的方法对其检查和控制,主要包括:

1、检查数据立方体的内容。最简单的方法通过管理员工作台的建模窗口进行检查。

2、使用BW监控器。可以检查数据是否正确加载

3、使用持久分段运输区域(PSA)。对于数据仓库系统而言,一旦数据加载到目的地点,再移动数据将不是一件容易的工作,BW提供了PSA的方法,将数据以最初源系统的格式存储数据,从而可以做到把数据传递到目的地之前对数据进行检查。

4.4.4 创建查询和工作簿

BW使用“企业资源管理器(Bex)”的工具来创建查询和工作簿,BEX包括:Bex分析器和Bex浏览器,分析器用来创建查询,浏览器用来组织工作簿。

BW也可以使用变量直接访问层级节点。

4.4.5 管理用户授权

安全性是任何信息系统都至关重要的一个因素,BW中也不例外,BW采用一个成为“配置文件生成器”的R/3工具来管理授权,该工具基于授权对象完成授权,授权对象定义用户可以在哪些SAP对象上执行哪些操作;多个授权可以结合在一起组成一个授权配置文件,在SAP中,一个授权配置文件分配给一个用户角色,分配到某个角色的用户就可以执行该角色定义的活动。

BW管理用户授权通过下面步骤和操作可以完成: 1、使用配置文件生成器创建授权配置文件;2、创建一个授权对象来控制用户对信息立方体的访问;3、集成配置文件生成器和Bex浏览器。

4.4.6 BW其他功能

BW系统除了提供一般意义上的操作外,还提供了一系列独特的方法和工具,使BW系统的设计、开发、维护、调试和支持变得灵活、高效。

1、业务目录提高BW项目效率。

2、开发系统到正式系统的BW对象“传输”,确保正式系统的安全有效。

3、能定义依赖于时间的维度层次结构,同时,BW的层级非常灵活,可以方便的添加或者删除节点和叶子,也可以改变层次。

5、结论

SAP BW系统能够向用户提供对来自不同系统业务信息的动态查询和多维度分析,帮助领导及管理人员对企业重要业务运营情况进行趋势报警,同时还能帮助业务人员自己灵活地定义报表,提高业务数据的利用率。

1、通过实施SAP BW系统,可以利用BW提供的各种方便、即时生成各种动态分析报表的功能,使决策层面能够实时地获取各类实际生产经营信息,使信息化系统对决策和合理运营做出更大贡献。

2、SAP BW 系统强大的数据分析功能也将能帮助公司彻底解决由于企业的主管部门繁多,而造成的“报表多”、“格式多”的问题——制作报表的时候,只需要在系统中,按照上级部门所要的关键数据项进行查询,生成的结果自然就是一份合格的报表。

3、SAP BW项目实施方法论为构造数据仓库系统建立了来自实际业务实践的有效指导,SAP成功的实施案例表明该方法论在构造BW系统的有效性。

4、SAP BW的业务目录功能提供了17个行业的标准对象和报表,有效的缩短了项目的周期,提高了项目的质量。

实施各类业务信息系统在企业的运行效率上和降低成本上带来非常大的好处,实施SAP BW系统能够进一步增强企业管理的规范化和流程化,提高企业的经济效益和管理水平,进一步有效地控制成本并逐步提升管理理念。

摘 要:

本文从一个简单的业务场景-销售分析入手,介绍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

监控运行,识别热点问题

 

4、BW在销售分析中的具体应用

4.1 需求描述

假设一个负责规划和实施销售战略的销售经理,工作任务是:

(1)监控和预测销售需求以及价格变动趋势

(2)管理销售目标,协调销售力量和分析商

(3)审查每个销售代表,办公室和地区的销售活动

而且还假设该经理拥有下表所示的有关物料、客户和销售组织的数据。

表一: 物料

物料编号

物料名称

物料描述

MAT001

冰茶

MAT002

咖啡

热咖啡

MAT003

小甜饼

“财富”牌小甜饼

MAT004

办公桌

电脑桌

MAT005

餐桌

餐桌

。。。。。。

  

MAT015

桔子

加利福尼亚桔子

表二:客户

客户标识

客户名称

客户地址

CUST001

Reliable运输公司

TransportDrive ,Atlanta,GA 23002

…….

  

CUST012

Airspace Industries公司

AirLane,Seattle,WA83476

表三:销售组织

销售区域

销售办公室

销售代表

销售代表标识

东部地区

亚特兰大

John

SREP01

纽约

Steve

SREP02

 

Mary

SREP03

中西部地区

达拉斯

Michael

SREP04

 

Lisa

SREP05

芝加哥

Kevin

SREP06

 

Chris

SREP07

西部地区

丹佛*

Sam

SREP08

洛杉矶

Eugene

SREP09

西雅图

Mark

SREP10

*2001年1月1日前,丹佛的办公室位于中西部地区

表四:3年的销售数据

客户标识

销售代表标识

物料编号

销售单价

单位

销量

交易日期

CUST001

SREP001

MAT001

2

1

19980304

CUST002

SREP002

MAT002

2

2

19990526

……….

      

………

      

CUST011

SREP011

MAT015

2

3

20000705

CUST011

SREP011

MAT015

3.5

4

20011225

上述数据只是一个简化的业务场景,实际中,数据的规模是非常大的,对这类的在线分析处理(OLAP)所消耗的计算机资源非常大,他不可能在一个业务数据库系统内通过OLTP执行,因此,我们需要构造一个专门的数据仓库系统来完成该任务。

4.2 数据建模

本例按照星型结构进行建模,其结构如下图所示:

clip_image007[4]

事实表---位于中间,维度表位于事实表周围,本例中涉及“客户”,“物料”和“销售代表”三个维度(实际上这里还有两个共有的维度,时间和单位)。

一般来说该表往往非常大,通常以GB来衡量,用户感兴趣的数据就是从该表进行检索,维度表的规模一般只有事实表的1-5%。事实表和维度表通过外键进行关联。

4.3 ETTL过程

构建数据仓库有一个关键的步骤:从不同的数据源中抽取、传输、转换和加载数据到一个数据仓库,即所谓的ETTL过程。 ETL是BI/DW的核心和灵魂,是数据仓库的入口,它将数据从OLTP、外部数据源、脱机的数据介质中导入DW,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。

1、抽取数据时,即完成从源系统(例如R/3系统)移出数据。该步的关键是识别合适的数据,因此,对于源数据系统很好的理解是基础。

2、数据传输时,有规则的将不同源数据系统的大量数据移动到数据仓库中,这里的关键是规划出一个符合实际的数据传输计划,并且拥有可靠的快速网络。

3、数据转换时,对数据要进行格式化处理,从而保证数据在数据仓库中保持一致。这里要面对众多挑战,不同的名称,不同的数据类型,不同的文件系统,不同的文件格式等,都需要在数据转换中正确处理。

4、数据加载,就是将数据正确、快速的加载到事实表中。这一过程的关键在于开发一个稳定的、好的错误处理程序。

ETTL是一个复杂的,需要花费大量时间的任务。任何错误都有可能危害到数据的质量,而数据质量直接影响到企业决策的制定,因此,对于数据仓库项目来说,能在计划的时间和既定的预算内完成具有很大的挑战。

4.4 BW实际操作过程
4.4.1创建信息立方体

在BW中,客户标识、物料编号、销售代表标识、度量单位以及交易日期成为特征,客户姓名和客户地址都是客户标识的属性(虽然它们实际上也是特征)。销售单价,销售数量和销售收益被称为主特征(key figure),特征和主特征都称为InfoObject。

主特征可以是一个特征的属性。例如销售单价可以物料编号的一个属性,在该实例中,销售单价是事实表的一个主特征。InfoObject类似于砖块,我们使用InfoObject构建InfoCube,InfoCube是由星型架构中的事实表及其相关维度表组成。

利用BW图形界面,可以方便的按照下面的5步,创建信息立方体(具体操作步骤略)。

1、创建InfoArea。InfoArea类似于一个工地,信息立方体就在这个工地中建立。

2、创建InfoObject编录。

3、创建InfoObject-特征

4、创建InfoObject-主特征

5、创建信息立方体

4.4.2加载数据到信息立方体

创建了信息立方体,就可以将本例中描述的数据加载到这个信息立方体中,BW系统可以通过下面的步骤方便的完成数据的加载过程。

1、创建一个源系统。BW可以接受来自各种源系统的数据,包括R/3系统,BW系统,平面文件,利用第三方ETTL工具的外部系统等。

2、创建一个应用程序组件。Bw中,Infosource和infopackage使用应用程序组件的树状结构组织。

3、为特征数据创建Infosource

4、创建InfoPackage来加载特征数据

5、检查所加载的特征数据

6、手工输入主数据、文本和层级

7、为交易过程创建Infosource

8、创建信息立方体的更新规则

9、创建InfoPackge来加载交易数据

4.4.3 检查数据质量

信息立方体的数据质量对于整个系统而言至关重要,SAP BW提供了有效的方法对其检查和控制,主要包括:

1、检查数据立方体的内容。最简单的方法通过管理员工作台的建模窗口进行检查。

2、使用BW监控器。可以检查数据是否正确加载

3、使用持久分段运输区域(PSA)。对于数据仓库系统而言,一旦数据加载到目的地点,再移动数据将不是一件容易的工作,BW提供了PSA的方法,将数据以最初源系统的格式存储数据,从而可以做到把数据传递到目的地之前对数据进行检查。

4.4.4 创建查询和工作簿

BW使用“企业资源管理器(Bex)”的工具来创建查询和工作簿,BEX包括:Bex分析器和Bex浏览器,分析器用来创建查询,浏览器用来组织工作簿。

BW也可以使用变量直接访问层级节点。

4.4.5 管理用户授权

安全性是任何信息系统都至关重要的一个因素,BW中也不例外,BW采用一个成为“配置文件生成器”的R/3工具来管理授权,该工具基于授权对象完成授权,授权对象定义用户可以在哪些SAP对象上执行哪些操作;多个授权可以结合在一起组成一个授权配置文件,在SAP中,一个授权配置文件分配给一个用户角色,分配到某个角色的用户就可以执行该角色定义的活动。

BW管理用户授权通过下面步骤和操作可以完成: 1、使用配置文件生成器创建授权配置文件;2、创建一个授权对象来控制用户对信息立方体的访问;3、集成配置文件生成器和Bex浏览器。

4.4.6 BW其他功能

BW系统除了提供一般意义上的操作外,还提供了一系列独特的方法和工具,使BW系统的设计、开发、维护、调试和支持变得灵活、高效。

1、业务目录提高BW项目效率。

2、开发系统到正式系统的BW对象“传输”,确保正式系统的安全有效。

3、能定义依赖于时间的维度层次结构,同时,BW的层级非常灵活,可以方便的添加或者删除节点和叶子,也可以改变层次。

5、结论

SAP BW系统能够向用户提供对来自不同系统业务信息的动态查询和多维度分析,帮助领导及管理人员对企业重要业务运营情况进行趋势报警,同时还能帮助业务人员自己灵活地定义报表,提高业务数据的利用率。

1、通过实施SAP BW系统,可以利用BW提供的各种方便、即时生成各种动态分析报表的功能,使决策层面能够实时地获取各类实际生产经营信息,使信息化系统对决策和合理运营做出更大贡献。

2、SAP BW 系统强大的数据分析功能也将能帮助公司彻底解决由于企业的主管部门繁多,而造成的“报表多”、“格式多”的问题——制作报表的时候,只需要在系统中,按照上级部门所要的关键数据项进行查询,生成的结果自然就是一份合格的报表。

3、SAP BW项目实施方法论为构造数据仓库系统建立了来自实际业务实践的有效指导,SAP成功的实施案例表明该方法论在构造BW系统的有效性。

4、SAP BW的业务目录功能提供了17个行业的标准对象和报表,有效的缩短了项目的周期,提高了项目的质量。

实施各类业务信息系统在企业的运行效率上和降低成本上带来非常大的好处,实施SAP BW系统能够进一步增强企业管理的规范化和流程化,提高企业的经济效益和管理水平,进一步有效地控制成本并逐步提升管理理念。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值