1、http:/ BW 数据仓库简介本文从一个简单的业务场景-销售分析入手,介绍 SAP BW(Business InfomationWarehouse)实现多维分析的基本方案与实现技术;结合销售分析的实际需求,给出了销售分析管理数据仓库在 SAP BW(业务信息仓库) 模块中的实现过程描述。 1、数据仓库的基本理论1.1 数据仓库数据仓库是对数据进行提炼、加工和集成含有一定量商务信息和意义的信息。数据仓库不是为了存储数据,而是为更好地利用企业内所有可能收集到的数据进行决策支持。数据仓库拥有以下四个特点:(1) 面向主题。在数据仓库中,数据被分类,并按业务数据主题的视角,对数据进行存贮。在 OLT
2、P(联机事务处理 on-line transaction processing)中,数据是按业务应用的视角进行组织和存贮。(2) 集成。某个业务主题所包括的数据不会存贮在多个业务主题中。即某数据如果属于业务主题 A,则不应该同时属于业务主题 B。(3) 具有时间特征。存贮在数据仓库中的数据,均表示在某一时间点上所发生的事实,所以数据仓库的数据大部分都与时间相关,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。(4) 相对稳定。一般情况下,数据仓库中的数据不会被更改或删除。1.2 数据仓库系统的体系结构一般情况下,数据仓库系统是一个分层次的体系结构,如下图:数据源:是数据仓库系统
3、的基础,整个系统的数据源泉。通常包括企业内部信息和外部信息。数据存储与管理:是整个数据仓库系统的核心。在现有各业务系统的基础上,对数据进行重新组织,最终确定数据仓库的物理存储结构,同时组织存储数据仓库元数据;数据仓库的管理包括数据的安全、归档、备份、维护、恢复等工作。OLAP 服务器:对分析需要的数据按照多维数据模型进行再次重组,以支持用户多角度、多层次的分析,发现数据趋势。前端工具与应用:前端工具包括各种数据分析工具、报表工具、查询工具、数据挖掘工具以及各种基于数据仓库开发的应用。数据仓库不仅是存放数据的载体,还包括按照业务数据对业务系统数据进行整合处理的方法流程和构建在数据仓库的分析应用。
4、2 数据仓库的多维建模技术2.1 建模原则数据模型的创建直接反映业务需求,对系统的物理实施起着指导性的作用,是数据仓库的核心问题。而数据仓库是面向主题的,一般按照主题来建模。数据仓库建模在业务需求分析之后开始,是数据仓库构造的正式开始。主流的数据仓库模型是由 Kimball 提出的多维模型。该模型 降低了范式化,以分析主题为基本框架来组织数据。以多维模型开发分析主题,能够快速实施,迅速获得投资回报,在取得实际效果的基础上,再逐渐增加应用主题,循序渐进,积累经验,逐步建成企业级数据仓库。在创建数据仓库的数据模型时应考虑:满足不同层次、用户的需求;兼顾查询效率与数据粒度的需求;支持用户需求变化;避
5、免业务运营系统性能影响;提供可扩展性。其中,数据模型的可扩展性决定了数据仓库对新的需求的适应能力,建模既要考虑眼前的信息需求,也要考虑未来的需求。2.2 事实表和维表事实表和维表是多维模型中的两个基本概念。事实表是数据分析所对应的主要数据项,一般是企业内的某项业务或某个事件。事实表中的事实一般具有数据特性和可加性,事实表中可以存储不同粒度的数据,同一主题中不同粒度的数据一般存储在不同的事实表中。维表中包含的一般是描述性的文本信息,这些文本信息将成为事实表的检索条件。维表中的维属性应该具体明确,体现出维层次的划分,能够成为分析型查询的约束条件,这是数据仓库与操作型应用在数据模型设计上的一个不同点
6、。维表层次的级别数量取决于查询 的粒度。在实际业务环境中,多维数据模型一般含有 415 维,更多的维数或更少的维数一般都很少见。在具体工作中,设计人员一定要根据企业的实际情况确定相应的维。在多维模型中,事实表的主码是组合码,维表的主码是简单码,事实表中与维表主码相对应的各个组成部分是外码。事实表通过与各维相对应的外码值同维表联系在一起。查询时通过事实表和维表之间的这种对应关系。2.3 星形模型多维数据建模以直观的方式组织数据,并支持高性能的数据访问。每一个多维数据模型由多个多维数据模式表示,每一个多维数据模式都是由一个事实表和一组维表组成的。多维模型最常见的是星形模式。在星形模式中,事实表居中
7、,多个维表呈辐射状分布于其四周,并与事实表连接。位于星形中心的实体是指标实体,是用户最关心的基本实体和查询活动的中心,为数据仓库的查询活动提供定量数据。每个指标实体代表一系列相关事实,完成一项指定的功能。位于星形图星角上的实体是维度实体,其作用是限制用户的查询结果,将数据过滤使得 从指标实体查询返回较少的行,从而缩小访问范围。每个维表有自己的属性,维表和事实表通过关键字相关联。3、SAP BW 数据仓库解决方案3.1 BW 产品SAP 是全球最大的企业管理和协同化商务解决方案供应商、全球第三大独立软件供应商。目前,在全球有 120 多个国家的超过 76,000 家用户正在运行 SAP软件。财富
8、 500 强 80%以上的企业都正在从 SAP 的管理方案中获益。SAP BW 解决方案,是数据仓库技术在 SAP 平台上的具体应用,通过预先内置大量标准模板,将数据仓库技术与各行业各模块的业务紧密结合,快速实现企业各个应用的信息整合,提供灵活的多维度的联机数据分析,强调长期(以年为单位)数据积累和分析指标的汇总计算,提供强大的报表设计功能,方便用户进行特殊报表的个性定制,提供回归、聚类、决策树等灵活的数据挖掘功能,提供一定的报表美化、自动批处理、分发和预警功能。BW 是端对端的数据仓库解决方案,它采用了 SAP 公司企业解决方案中的众多技术,基于三层体系结构构建,编程语言是 ABAP(Adv
9、anced Business ApplicationProgramming,高级企业应用程序),它使用 ALE(Application Link Enabling,应用程序链接)和 BAPI(Business Application Programming Interface,企业应用编程接口)来链接 BW 与 SAP 系统以及其它非 SAP 系统。BW 的产品结构图BW 数据仓库的核心工具都位于 Adminstrator Workbench 中,主要功能包括:数据建模,数据抽取,流程管理和数据仓库的管理。ADMINISTRATOR WORKBENCH 它是 SAP BW 数据仓管理管理的继承
10、界面(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 有一个亮点是:能定
11、义依赖于时间的维度层次结构。比如说 在公司部门项目 的维度层次结构中,项目 A 在 2000 年属于部门 1,在 2001 年,被调整到部门 2 了,这一特点非常有用。3.2 BW 的体系结构上图显示了 BW 的三层体系结构:1、顶层是报表环境。它可以是 BW 的企业资源管理器(Business Explorer,BEx)或者第三方的报表工具。BEx 包括两个组件:(1)BEx 分析器。是内嵌了 BW 的 Microsoft Excel,它具有易于使用的图形界面,用户不必编写 sql 语句就可创建查询。(2)BEx 浏览器。其工作方式类似于一个信息中心,它使得用户可以组织并访问各种各样的信息。
12、第三方报表工具通过 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 给销售经理提供了如下一些
13、标准报表:1、报价处理。(例如各销售区域报价的成功率,各销售区域的报价跟踪,各销售区域总体报价信息等)2、订单处理。(每月的订单和收益,销售价值,账单文档,订单、运输和销售数量,订单满足率,信誉记录,到达订单的返回率,各客户的平均返还次数,返还的数量和价值,产品分析,产品盈利分析等)3、运输。(各销售区域的运输延误,平均运输处理次数等)4、分析和比较。(销售/成本分析,高盈利性客户分析,分销渠道分析,产品盈利性分析,每周运输统计,每月运输统计,到达订单分析,销量比较,销售额比较,各客户的平均利润,产品分析,每月到达订单和收益汇总等)5、行政和管理功能。(成本中心:计划/实际/偏差等等)BW 丰
14、富的业务目录有效的缩短了 BW 的实施周期,降低了实施难度,本文销售分析的实例也主要基于业务目录直接构建各类报表,从而将工作的重点放在数据仓库的构建上。3.4 BW 项目实施方法论实施 SAP BW 项目,需要一个理想的项目团队,一般来说,需要包括下述人员:数据仓库设计师:负责监督整个项目,特别是结构设计和系统整合。企业分析师:负责获取企业需求和源数据系统的数据模型,特别是 R/3 系统。技术开发员:必须熟悉 BW,ABAP,ALE/Idoc 以及 VB,并且能够创建 BW 对象和用户界面友好的报告。基础平台和数据库管理员:负责安装、维护 BW 系统、系统概貌、BW 系统之间的通讯以及源系统。
15、实际实施过程中,还要遵循一定的规则和步骤,下面是 SAP 提供的简化的 BW 项目规划方案:整个项目实施分为“设计-开发-测试-培训-上线”五个阶段组织。阶段 1:设计 4、BW 在销售分析中的具体应用4.1 需求描述假设一个负责规划和实施销售战略的销售经理,工作任务是:(1)监控和预测销售需求以及价格变动趋势(2)管理销售目标,协调销售力量和分析商(3)审查每个销售代表,办公室和地区的销售活动而且还假设该经理拥有下表所示的有关物料、客户和销售组织的数据。表一: 物料 箱 3 20000705CUST011 SREP011 MAT015 3.5 箱 4 20011225上述数据只是一个简化的业
16、务场景,实际中,数据的规模是非常大的,对这类的在线分析处理(OLAP)所消耗的计算机资源非常大,他不可能在一个业务数据库系统内通过 OLTP 执行,因此,我们需要构造一个专门的数据仓库系统来完成该任务。4.2 数据建模本例按照星型结构进行建模,其结构如下图所示:事实表-位于中间,维度表位于事实表周围,本例中涉及“客户”,“物料”和“销售代表”三个维度(实际上这里还有两个共有的维度,时间和单位)。一般来说该表往往非常大,通常以 GB 来衡量,用户感兴趣的数据就是从该表进行检索,维度表的规模一般只有事实表的 1-5%。事实表和维度表通过外键进行关联。4.3 ETTL 过程构建数据仓库有一个关键的步
17、骤:从不同的数据源中抽取、传输、转换和加载数据到一个数据仓库,即所谓的 ETTL 过程。 ETL 是 BI/DW 的核心和灵魂,是数据仓库的入口,它将数据从 OLTP、外部数据源、脱机的数据介质中导入 DW,按照统一的规则集成并提高数据的价值,是负责完成数据从数据源向目标数据仓库转化的过程,是实施数据仓库的重要步骤。1、抽取数据时,即完成从源系统(例如 R/3 系统)移出数据。该步的关键是识别合适的数据,因此,对于源数据系统很好的理解是基础。2、数据传输时,有规则的将不同源数据系统的大量数据移动到数据仓库中,这里的关键是规划出一个符合实际的数据传输计划,并且拥有可靠的快速网络。3、数据转换时,
18、对数据要进行格式化处理,从而保证数据在数据仓库中保持一致。这里要面对众多挑战,不同的名称,不同的数据类型,不同的文件系统,不同的文件格式等,都需要在数据转换中正确处理。4、数据加载,就是将数据正确、快速的加载到事实表中。这一过程的关键在于开发一个稳定的、好的错误处理程序。ETTL 是一个复杂的,需要花费大量时间的任务。任何错误都有可能危害到数据的质量,而数据质量直接影响到企业决策的制定,因此,对于数据仓库项目来说,能在计划的时间和既定的预算内完成具有很大的挑战。 4.4 BW 实际操作过程4.4.1 创建信息立方体在 BW 中,客户标识、物料编号、销售代表标识、度量单位以及交易日期成为特征,客
19、户姓名和客户地址都是客户标识的属性(虽然它们实际上也是特征)。销售单价,销售数量和销售收益被称为主特征(key figure),特征和主特征都称为 InfoObject。主特征可以是一个特征的属性。例如销售单价可以物料编号的一个属性,在该实例中,销售单价是事实表的一个主特征。InfoObject 类似于砖块,我们使用InfoObject 构建 InfoCube,InfoCube 是由星型架构中的事实表及其相关维度表组成。利用 BW 图形界面,可以方便的按照下面的 5 步,创建信息立方体(具体操作步骤略)。1、创建 InfoArea。InfoArea 类似于一个工地,信息立方体就在这个工地中建立
20、。2、创建 InfoObject 编录。3、创建 InfoObject-特征4、创建 InfoObject-主特征5、创建信息立方体4.4.2 加载数据到信息立方体创建了信息立方体,就可以将本例中描述的数据加载到这个信息立方体中,BW系统可以通过下面的步骤方便的完成数据的加载过程。1、创建一个源系统。BW 可以接受来自各种源系统的数据,包括 R/3 系统,BW系统,平面文件,利用第三方 ETTL 工具的外部系统等。2、创建一个应用程序组件。Bw 中,Infosource 和 infopackage 使用应用程序组件的树状结构组织。3、为特征数据创建 Infosource4、创建 InfoPac
21、kage 来加载特征数据5、检查所加载的特征数据6、手工输入主数据、文本和层级7、为交易过程创建 Infosource8、创建信息立方体的更新规则9、创建 InfoPackge 来加载交易数据 4.4.3 检查数据质量信息立方体的数据质量对于整个系统而言至关重要,SAP BW 提供了有效的方法对其检查和控制,主要包括:1、检查数据立方体的内容。最简单的方法通过管理员工作台的建模窗口进行检查。2、使用 BW 监控器。可以检查数据是否正确加载3、使用持久分段运输区域(PSA)。对于数据仓库系统而言,一旦数据加载到目的地点,再移动数据将不是一件容易的工作,BW 提供了 PSA 的方法,将数据以最初源
22、系统的格式存储数据,从而可以做到把数据传递到目的地之前对数据进行检查。4.4.4 创建查询和工作簿BW 使用“企业资源管理器(Bex)”的工具来创建查询和工作簿,BEX 包括:Bex分析器和 Bex 浏览器,分析器用来创建查询,浏览器用来组织工作簿。BW 也可以使用变量直接访问层级节点。4.4.5 管理用户授权安全性是任何信息系统都至关重要的一个因素,BW 中也不例外,BW 采用一个成为“配置文件生成器”的 R/3 工具来管理授权,该工具基于授权对象完成授权,授权对象定义用户可以在哪些 SAP 对象上执行哪些操作;多个授权可以结合在一起组成一个授权配置文件,在 SAP 中,一个授权配置文件分配
23、给一个用户角色,分配到某个角色的用户就可以执行该角色定义的活动。BW 管理用户授权通过下面步骤和操作可以完成: 1、使用配置文件生成器创建授权配置文件;2、创建一个授权对象来控制用户对信息立方体的访问;3、集成配置文件生成器和 Bex 浏览器。4.4.6 BW 其他功能BW 系统除了提供一般意义上的操作外,还提供了一系列独特的方法和工具,使BW 系统的设计、开发、维护、调试和支持变得灵活、高效。1、业务目录提高 BW 项目效率。2、开发系统到正式系统的 BW 对象“传输”,确保正式系统的安全有效。3、能定义依赖于时间的维度层次结构,同时,BW 的层级非常灵活,可以方便的添加或者删除节点和叶子,
24、也可以改变层次。5、结论SAP BW 系统能够向用户提供对来自不同系统业务信息的动态查询和多维度分析,帮助领导及管理人员对企业重要业务运营情况进行趋势报警,同时还能帮助业务人员自己灵活地定义报表,提高业务数据的利用率。1、通过实施 SAP BW 系统,可以利用 BW 提供的各种方便、即时生成各种动态分析报表的功能,使决策层面能够实时地获取各类实际生产经营信息,使信息化系统对决策和合理运营做出更大贡献。2、SAP BW 系统强大的数据分析功能也将能帮助公司彻底解决由于企业的主管部门繁多,而造成的“报表多”、“格式多”的问题制作报表的时候,只需要在系统中,按照上级部门所要的关键数据项进行查询,生成的结果自然就是一份合格的报表。3、SAP BW 项目实施方法论为构造数据仓库系统建立了来自实际业务实践的有效指导,SAP 成功的实施案例表明该方法论在构造 BW 系统的有效性。4、SAP BW 的业务目录功能提供了 17 个行业的标准对象和报表,有效的缩短了项目的周期,提高了项目的质量。实施各类业务信息系统在企业的运行效率上和降低成本上带来非常大的好处,实施 SAP BW 系统能够进一步增强企业管理的规范化和流程化,提高企业的经济效益和管理水平,进一步有效地控制成本并逐步提升管理理念。