上海数聚软件系统股份有限公司SAP商业信息仓库(BW)建模培训Agenda1.SAPBW数据仓库基本概念2.SAPBW建模中使用的主要数据对象3.SAPBW建模的流程及方法4.SAPBW建模案例分析5.SAPBW建模中使用的其他数据对象6.SAPBW建模中性能优化的考虑1.SAPBW数据仓库基本概念2.SAPBW建模中使用的主要数据对象3.SAPBW建模的流程及方法4.SAPBW建模案例分析5.SAPBW建模中使用的其他数据对象6.SAPBW建模中性能优化的考虑Agenda1.1数据仓库产生ERP系统主要应用于日常事务的操作性处理,重点在于完成事务处理,在短时间内给予用户响应,服务于操作型业务需求,可以称之为“操作型数据库”。随着业务应用不断拓展,以及市场竞争不断加剧,数据分析师和企业家们发现仅仅依靠联机事务处理系统已经不足以获得市场竞争的优势,希望能够从庞大的日常业务数据以及历史归档数据中,分析发掘出潜在的、规律性的、更有价值的信息。用于对企业的业务运作以及市场的行业态势进行分析判断,从而做出正确的决策。这就推动了数据仓库的产生,即服务于分析型业务需求的系统,可以称之为“分析型数据库”。1.2数据仓库的定义数据仓库是面向主题的、集成的、相对稳定的、反映历史变化的数据集合。(1)面向主题:按业务主题的视角进行组织。(2)集成:数据从不同的源系统中抽取过来,经过清洗、加工,保持了一致性。(3)相对稳定:一般情况下,数据仓库中的数据不会被更改或删除。(4)反映历史变化:存贮在数据仓库中的数据,均表示在某一时间点上所发生的事实,所以数据仓库的数据大部分都与时间相关,通过这些信息,可以对企业的发展历程和未来趋势做出定量分析和预测。1.3数据仓库的架构(1)操作数据存储ODS(OperationalDataStore)企业数据仓库EDW(EnterpriseDataWarehouse)数据集市DM(DataMart)1.3数据仓库的架构(2)ODS:用来保留明细的操作数据,保留的时间较短,满足用户对操作型数据的及时甚至近实时的查询需求。EDW:用来长期保留企业统一的,按照主题组织的的明细数据,EDW保留的数据是经过清洗和集成的。DM是针对具体的前端报表/分析的需求而设计的数据模型。DM一般是汇总的数据,查询性能是DM在设计时要充分考虑的问题。1.3数据仓库的架构(3)实例:ODS:增量的销售订单的抬头和明细(近三个月)EDW:所有的销售订单的抬头和明细按日期、公司、客户汇总的销量DM:按年月、公司、客户汇总的销售1.3数据仓库的架构(4)基于数据仓库的架构,一般数据仓库项目成员包括三组人:(1)建模人员:负责需求分析,ODS、EDW、DM的设计(2)ETL人员(Extract,Transform,Load):负责数据的抽取、转换、装载,包括从数据源到ODS、EDW,从ODS到EDW,从EDW到DM。(3)报表人员:负责报表的制作。1.4BW数据仓库的三层架构PSA(PersistentStagingArea):持久数据加载区Agenda1.SAPBW数据仓库基本概念2.SAPBW建模中使用的主要数据对象3.SAPBW建模的流程及方法4.SAPBW建模案例分析5.SAPBW建模中使用的其他数据对象6.SAPBW建模中性能优化的考虑2.1BW建模操作界面(1)T-CodeRSA1进入建模界面2.1BW建模操作界面(2)◆信息提供者所有能为报表提供数据的数据对象被统称为信息提供者。信息提供者的分类:(1)有实际数据存储的:作为信息提供者使用的特性、信息立方体、数据存储对象。(2)无实际数据存储的:多信息提供者、信息集、虚拟信息提供者。2.1BW建模操作界面(2)◆信息对象特性(Characteristics)关键值(Keyfigures)◇信息源(InfoSources)◇数据源(DataSources)◇源系统(SourceSystems)◇开放数据目标文件(OpenHubDestination)2.1BW建模操作界面(3)一般先创建信息范围(功能类似于windows的文件夹),创建的信息范围在信息提供者和信息对象中是通用的。2.2信息对象(InfoObject)(1)信息对象是BW对现实生活中业务评价对象的模拟,比如客户、销售额等,是数据模型建立的基础。分为:关键值(Keyfigures):指业务评价中的数值部分,如金额、数量。特性(Characteristics):对关键值进行分析的业务对象,如公司、产品、客户、时间等。显然,关键值只有和特性联系在一起的时候,才有具体的含义。2.2信息对象(InfoObject)(2)信息对象的创建:(1)在建好的信息范围右键菜单里选择“创建信息对象目录”(选择信息对象类型,一般为特性和关键值分别创建一个目录)。2.2信息对象(InfoObject)(3)(2)在相应的信息对象目录下创建信息对象。2.2.1特性(Characteristics)(1)BW将特性分为四类:●业务特性(Characteristic)●单位(Unit)●时间(Timecharacteristic)●技术特性(Technicalcharacteristic)需要我们创建和配置的是第一类。2.2.1特性(Characteristics)(2)特性的配置:一般的输入基本的属性:描述、数据类型、长度等。2.2.1特性(Characteristics)(3)特性的配置:主数据/文本确定是否包含属性和文本描述。只有当“有主数据”被选上以后,后面“属性”页才可用。2.2.1特性(Characteristics)(4)特性的配置:层次结构确定是否包含层级。2.2.1特性(Characteristics)(5)特性的配置:属性设定属性(显示属性、导航属性)。2.2.1特性(Characteristics)(6)特性的配置:组合设定信息对象是否需要与其他信息对象共同组成该信息对象的唯一标识。比如库位就需要和工厂组合起来,才能唯一的确定一个库存位置。2.2.1特性(Characteristics)(7)特性的创建步骤:(1)在类型为特性的信息对象目录右键菜单里选”创建信息对象“2.2.1特性(Characteristics)(8)(2)输入名称描述(3)然后完善各Tab页需要的内容(4)保存,激活。2.2.1特性(Characteristics)(9)特性数据的管理:维护主数据、激活主数据、删除主数据。2.2.1特性(Characteristics)(10)(1)维护主数据:可以直接对主数据进行维护,适合数据量小且长时间不大变化的的主数据。这样可以省略掉ETL。(2)激活主数据:主数据经过ETL的转换抽取到特性中后,还不能直接在报表上看到,需要激活主数据,才能在报表上查询到。(3)删除主数据:删除数据。2.2.2关键值(Keyfigures)(1)关键值的配置:类型/单位定义关键值的类型。2.2.2关键值(Keyfigures)(2)关键值的配置:聚集定义关键值进行汇总的方式。2.2.2关键值(Keyfigures)(3)关键值的配置:附加财产定义是否用最大精确度计算关键值;定义关键值是否仅作为属性使用。2.2.3BW业务内容中的信息对象BW业务内容:是SAP公司预配置好的信息模型。包括信息对象、信息立方体、数据存储对象、报表等各类模板。因此我们可以利用已有的信息对象模板来建模:(1)直接只用已有的信息对象模版,比如产品(0customer)、工厂(0plant)、数量(0quantity)等。(2)以他们为模板新建信息对象。如下图所示:2.3信息立方体(InfoCube)面向报表的高效率的数据组织方式两方面的信息特性(Characteristics)关键值(Keyfigures)包含1个事实表和最多16个维度表3个维度是SAPBW必须的时间单位数据包(系统自动维护)信息立方体是星形结构。2.3.1传统星形模型中间是事实表,周围是维度表2.3.2BW星型模型(1)2.3.2BW星型模型(2)2.3.2BW星型模型(3)2.3.3信息立方体的创建(1)(1)在信息范围右键菜单里选择“创建信息块”。2.3.3信息立方体的创建(2)(2)在编辑信息块界面里填写信息块的技术名称和描述2.3.3信息立方体的创建(3)(3)创建新的维度2.3.3信息立方体的创建(4)(4)在创建的维度里输入信息对象(特性)。同时,一般的需求都会在时间和单位里输入需要的特性。2.3.3信息立方体的创建(5)(5)在关键值中输入信息对象(关键值)。2.3.3信息立方体的创建(6)特性和关键值也可以从左边的模版中选择已建好的对象,拖拽到右边来。最后记得保存和激活。2.4数据存储对象(DataStoreObject)数据存储对象是简单的关系型数据表结构,由关键字字段和数据字段组成。2.4数据存储对象(DataStoreObject)数据存储对象和信息立方体的比较:(1)数据存储对象是关系型数据表的结构,信息立方体是BW的星形结构。(2)数据存储对象中的记录可以进行增加、修改、删除的操作,因此能很方便的对源系统的数据进行清洗。而信息立方体的数据只能进行增加的操作。(3)数据存储对象一般用来保存明细的记录,信息立方体一般是汇总的数据。2.4数据存储对象(DataStoreObject)数据存储对象和信息立方体的比较:(4)信息立方体一般用在DM层,而数据存储对象一般用在ODS、EDW层。2.4数据存储对象(DataStoreObject)数据存储对象和信息立方体的使用实例:2.4数据存储对象(DataStoreObject)数据存储对象的分类:(1)标准的数据存储对象(2)写优化的数据存储对象(3)直接更新的数据存储对象常用的是前两种。2.4.1标准的数据存储对象由新数据、更改日志数据、有效数据三张数据表组成。到达数据存储对象的数据先进入新数据表,这时的数据是未激活的,在报表层面是查询不到的。然后经过激活的操作,新数据表的数据才写入有效数据表中,同时激活前后的变化写入了更改日志数据表中。这样的机制可以为后面的信息提供者在更新数据时提供增量机制。2.4.1标准数据存储对象标准数据存储对象的设置:2.4.1标准数据存储对象(1)激活之后生成主数据标识:设定在激活数据存储对象时是否生成主数据的SID,选中后可以提高报表查询的性能,但在激活时需要多花费时间。因此,如果当前的数据存储对象不需要出报表,可以不选。(2)唯一数据记录:用于指定数据存储对象是否只能装载唯一键值的数据记录。选中这一选项,意味着如果已经存在关键字字段的组合记录,新的同样关键字字段组合的数据记录就不能装载到DSO对象中,此时会报系统错误。2.4.1标准数据存储对象(3)自动将质量状态设置为正确。这是指在数据装载到DSO中后,系统自动将数据的状态设置为正确(绿色)。一般情况下,我们都会选中这一选项。(4)自动激活数据存储对象数据。这一选项决定是否自动激活DSO中的数据。一般不选这一选项,而是ETL时放在处理链中用相应的激活动作进行处理。2.4.2写优化的数据存储对象(1)写优化的数据存储对象只有一张数据表,即只有激活数据表。数据通过数据传输过程进入DSO后,就是激活的数据,在报表层次就是可见的。其他特点:(1)数据进入DSO时不产生主数据SID;(2)只有插入操作,没有更新操作。2.4.2写优化的数据存储对象(2)写优化的数据存储对象的使用场景:通常在具有多层级结构的企业级信息仓库中用于数据的输入层,用于海量的明细数据的快速收集,例如POS机数据收集。写优化的数据存储对象的设置:不检查数据的唯一性:默认是选上的。如果不选,那么系统检查语义键的唯一性并为语义键组合生成唯一索引,如果后面装载的数据和已装载数据的语义键组合相同的话就报系统错。2.4.2写优化的数据存储对象(3)2.4.3数据存储对象的创建(1)示例:标准数据存储对象的创建。(1)在信息范围右键菜单里选择“创建数据存储对象”。2.4.