概述数据流
学习目标
描述数据流中的关键对象。
SAP BW/4HANA 数据流
为了将数据加载到 SAP BW/4HANA,我们要构建一个数据流。数据流是一系列对象,它们决定数据从源表到 SAP BW/4HANA 中查询这一整个旅程中的路由。系统提供了相应工具来创建数据流对象并将它们连接起来。
观看此视频,了解主数据的数据流:
视频:本节含 SAP 官方视频(视频 ID
1_6u7f392m),需在 learning.sap.com 在线观看。
我们已经了解了主数据如何从源系统传输到 SAP BW/4HANA,接下来观看此视频,了解我们如何加载事务性数据:
视频:本节含 SAP 官方视频(视频 ID
1_oe4kqygj),需在 learning.sap.com 在线观看。
在前两个视频中,我们涵盖了 SAP BW/4HANA 数据流最重要的要点。现在让我们回顾这些要点,并为数据流中的每个组件补充一些附加信息。
主数据
要加载主数据,您需要定义一个特征信息对象。SAP BW/4HANA 中有三种主数据:属性、文本和层次结构。您可以选择加载其中任一类型的主数据,或全部加载。
主数据的主要目的是在报表中用附加信息丰富事务性数据。就主数据本身而言,对于监控业务绩效的业务用户来说并不特别有趣。同样,没有主数据的事务数据也无法为业务用户提供足够的信息。
在我们的示例中,我们看到值为 HT-1000 的特征信息对象 ProductID 具有文本 Notebook Basic 15,且 Product ABC Category 属性值为 C。这些值存储在 SAP BW/4HANA 的主数据表中,并从源系统的主数据表加载。
可选地,可以加载层次结构主数据,以实现多个特征信息对象值的层次化呈现,而不是以无休止的扁平列表呈现这些值。这使报表中的导航容易得多。
所有三种类型的主数据都必须使用数据流对象(例如数据源、转换和数据传输流程(DTP))加载到 SAP BW/4HANA 中。
事务性数据
事务性数据在源系统(例如 SAP S/4HANA)中通过执行各种业务流程(例如销售订单处理)而生成。
事务性数据存储在源系统表中,这些表包含许多字段。
数据源
数据源是在 SAP BW/4HANA 中创建的对象,用于支持从源系统提取数据。
数据源可以视为数据进入 SAP BW/4HANA 的入口点。
数据源只是与源系统字段相对应的字段结构。
数据源定义哪些字段从源表传输到 SAP BW/4HANA。
数据源中不存储任何数据。它是一个穿透式对象,用于将数据传递到 SAP BW/4HANA 中的下一层。
数据源用于事务性数据流和主数据流。
数据存储对象(高级)- 类型:暂存和基于字段
数据存储对象(高级)- 类型:暂存以与源系统相同的格式存储数据,值不做任何更改。
此层保留对已加载数据的所有更改,因此我们拥有完整的历史记录。
此层也称为企业内存(Corporate Memory),因为它可以被视为源数据的永久副本,我们将其保留以备将来需要复用这些数据。
此类型的数据存储对象不用于报表,因为凭借其历史记录保留特性,其重点在于暂存数据而非报表。
转换
转换将数据源与数据存储对象(高级)连接起来。
转换为每个字段定义数据移动操作。操作可以包括直接映射(数据不变)、调整不正确的数据值、添加缺失值、格式化值、连接两个字段、将一个字段拆分为两个字段等等。
转换始终位于源对象(例如数据源)与目标对象(例如数据存储对象)之间。
转换用于事务性数据流和主数据流。
数据传输流程(DTP)
DTP 提供加载参数,例如确定加载哪些数据的过滤器,以及确定如何处理加载错误的设置。
DTP 始终位于源对象(例如数据源或数据存储对象)与目标对象之间。
DTP 是您执行以启动数据加载的对象。
DTP 用于事务性数据流和主数据流。
数据存储对象(高级)- 类型:标准和基于信息对象
数据存储对象(高级)- 类型:标准用于在粒度级别存储整合和清洗后的数据,例如销售订单和销售订单行项目的粒度。
它可用于报表,因为它始终使用数据记录的最新版本,即使此对象中也有历史记录可用。
您应使用信息对象而不是字段来创建此对象,以便在报表中使用该信息对象相应的主数据。
复合提供者
这是虚拟化层。此处不存储数据,因为数据总是在运行时从连接到它的源生成。
它使用并集和/或连接操作组合来自多个源的数据。
您可以包含额外的计算值、过滤器和聚合。
BW 查询
BW 查询定义应在报表中使用复合提供者中的哪些信息对象。
在复合提供者之上构建查询(而不是直接在数据存储对象(高级)之上构建)始终是一种良好实践。这是因为即使复合提供者的底层源发生变化,BW 查询与底层复合提供者之间的关系仍保持稳定。
查询定义报表的初始布局、过滤器、计算等。
报表
SAP BW/4HANA 不提供创建报表的工具。客户可以选择自己的报表工具,例如 SAP Analysis for Microsoft Office 或 SAP Analytics Cloud。
报表中可包含一个或多个 BW 查询。
当事务性数据使用主数据特征信息对象进行建模时,主数据可以显示在报表中。 之所以如此,是因为事务性数据中的特征值(例如产品编号)会自动连接到该特征值的中央主数据。示例请参见下图。
共享主数据
我们了解到,主数据会自动与事务数据组合。在我们的示例中,我们看到事务中的产品 ID 连接到产品主数据,以提供附加属性和描述。如果我们已加载客户主数据,那么我们还会拥有关于每个客户的附加信息,例如国家和折扣百分比。
我们将主数据与事务数据分开加载和存储的主要原因之一,是我们可以将共享的公共主数据用于所有存在该特征的事务。
例如,如果我们加载产品的主数据,那么我们就可以在产品包含于记录中的多个数据存储对象之间共享产品属性和文本。示例请参见上图。
就顺序而言,良好实践是先加载主数据,再加载事务数据。这是因为在事务数据加载期间,我们经常引用已加载的主数据来检查事务值是否有效。例如,这是否是一个真实的客户编号?如果不是,我们可以拒绝该事务记录,或至少将其标记为需要检查。
整合与分发数据
在上一节中,我们了解到数据沿着从源系统到最终查询的路径流动。我们描述的流是线性的。然而,实际上数据流更为复杂。
使用各种 SAP BW/4HANA 对象,我们可以构建一个数据流,将来自多个源的数据整合起来。我们也可以将数据分发到多个对象。
整合示例:从销售源和退货源加载数据,然后在 SAP BW/4HANA 中整合,以创建真实的销售全貌。
分发示例:从包含北部和南部销售额的单一源加载数据,然后将数据分发到不同的对象,并根据北部和南部不同的定价规则对已加载数据应用调整。
本课其余配图


