前面提到,像BW/4HANA这样专业的数据仓库应用软件,是长期以来企业数据仓库建设与管理工作不断总结最佳实践、不断沉淀建设思想与理念的结果。它根据数据仓库不同逻辑功能区的特点提供了不同的建模模板和工具,并提供了从数据获取、数据转换到报表展现端到端的管理功能。这既显著提升数据仓库系统的规范性和可扩展性,也提升了数据仓库系统开发的自动化水平,减少了开发的工作量。
这就是BW/4HANA的套路。
BW/4HANA的套路可以很长,也可以很短。
使用BW/4HANA提供的建模方法和模板,可以构建非常复杂的应用场景,也可以实现快速的建模场景。
下面,我们以一个Excel文件的数据为例,将Excel文件作为数据来源,一起在BW/4HANA系统里创建一个数据模型,并将数据从Excel文件加载到BW/4HANA系统的模型里,并在系统里查看这些数据。
这个例子虽然简单,但是它已经从头到尾完整地走了一遍BW/4HANA的设计过程,可以让我们快速地理解BW/4HANA是如何将结构化的系统设计用不同类型的系统对象来实现的。
01
数据从哪里来
数据可能来自于各种不同的系统,为了管理好这些数据来源,BW/4HANA提供了一种系统对象类型,称之为“数据源”。在我们的示例中,Excel文件就会被定义一个新的数据源。而且,它会被分门别类地存放在相应的目录路径下,方便管理。这种目录称为应用组件目录。
数据源的编辑界面如图1所示。
图1 完成文件适配器设置
系统会读取Excel文件中的数据,自动生成建议字段,编辑界面右边的子窗口会显示详细的编辑界面。对于每一个字段的定义,可以在界面右边的子窗口里进行修改。在本示例中,我们可以根据字段的语义调整系统建议的字段类型,并指定金额与币种、数量与单位的关联关系,调整后的结果如图2所示。
图2 调整后的数据源字段列表
02
数据到哪里去?
创建好源系统和数据源,解决了系统从哪里取数的问题。这些数据取过来以后,需要在系统里创建相应的数据模型进行数据的存储。数据模型是数据流向的目的地。
在BW/4HANA的建模工具导航窗口中,数据模型显示在BW资源库(BW Repository)节点进行查看。系统按照“信息范围(InfoArea)-数据对象类型”的层级结构列示不同的数据对象。信息范围与应用组件目录作用类似,是为了方便对数据模型进行管理的分类目录,本身可以有多个层级。
数据存储对象(DataStoreObject)是BW/4HANA最常用的数据模型。数据存储对象是实现数据物理存储的建模工具。我们以数据源做为模板,创建一个新的数据存储对象。数据存储对象的编辑界面如下图所示。
图3 查看和编辑数据存储对象
数据存储对象的编辑界面“常规”选项卡,我们可以看到在“模型模板(ModelTemplate)”区域中列出了数据仓库不同逻辑分区中可用模型模板。我们选择应用“数据仓库层-数据集市(Datawarehouselayer– datamart)”模板,确保生成的模型可以直接用于出具报表。
切换到“明细”选项卡,如图4所示。
图4 编辑数据存储对象-“明细”选项卡
“明细”选项卡列出了数据存储对象的所有字段定义,这些字段定义是从数据源复制过来过来的。
03
让数据走起来
现在,我们已经在BW/4HANA系统里定义好了数据的起点和终点,怎样才能把数据从Excel文件加载到数据模型呢?BW/4HANA提供了设计数据流的工具,我们要指定数据的流向,再详细地定义从数据源到数据模型的字段之间的匹配关系。最后,我们要发起一个数据加载的操作,完成数据搬家的工作。
在BW/4HANA中,可以用图形方式来查看和规划数据的流向。系统把数据的流向图也作为对象进行管理,这就是“数据流对象(Data Flow Object)”。
第一步,新建一个数据流对象,在数据流画布空白处单击右键,选择“添加对象(Add Object)”,将我们创建的数据源和数据存储对象添加到画布上。
第二步,选择数据源,从数据源处拉出一条线指向数据存储对象,如图5所示。
图5 绘制对象之间的连接线
完成连接后,数据存储对象图形下方出现两个小图标,分别是数据转换和数据传输进程。
第三步,在数据存储对象上单击右键,选择“数据转换(Transformation)”。
图6 数据转换编辑界面-规则选项卡
系统自动建议了数据源和数据模型之间的数据转换规则。即,在将Excel文件内容导入到数据存储对象时,字段之间的对应关系。我们可以查看并检查这些规则。
第四步,我们要创建一个数据传输进程。数据传输进程用于触发数据传输的动作。
图7 数据传输进程编辑界面
完成数据加载后,数据存储对象中的数据可用于报表展现。
04
查看数据模型中的数据
在辅助窗口的“BW报表预览”选项卡下可以看到已经传输到数据存储对象的数据,BW报表预览的数据网格界面列出了数据存储对象的记录数及金额、数量等指标。
在导航面板上列出了数据存储对象的其他字段。单击列表中的字段左方的“行”“列”小按钮,可以将这一字段添加到数据网格的行或者列中。例如,我们单击物料号“0D_Material”左边的“行”按钮,数据网格中将物料号显示在行上,相应的指标也按物料号显示明细数据,如图8所示。
图8 展开维度查看数据
到此为止,我们在BW/4HANA系统中完成了一个端到端的流程。
-End-
本文作者:陈永杰
著有《SAP大数据完全解决方案》等多本有影响力的SAP图书