开发虚拟化层

学习目标

  • 描述 CompositeProvider 的作用。

CompositeProvider

DataFlow_1H CompositeProvider_01 CP_Screenshot

场景概览

我们数据流的下一步是定义一个 CompositeProvider。它构建在基于信息对象的标准数据存储对象之上。

CompositeProvider:术语与用例

CompositeProvider 将来自一个或多个提供者的数据暴露给 BW 查询。CompositeProvider 不存储数据,而是在运行时从底层提供者生成数据集。SAP BW/4HANA 中的提供者是诸如数据存储对象(高级)、信息对象和 Open ODS View 之类的 InfoProvider。

注意

我们将在后续某一课中介绍 Open ODS View。

注意

也可以将 SAP HANA 视图用作 CompositeProvider 的提供者。我们将在后续某一课中介绍这一点。

尽管可以直接在数据存储对象(高级)之上构建 BW 查询,但最佳实践是在数据存储对象(高级)之上构建 CompositeProvider,然后再在 CompositeProvider 之上构建 BW 查询。

CompositeProvider 具有以下优势:

  • 只向 BW 查询暴露底层源中所需要的字段

  • 通过 union、join 或两者的组合来合并多个提供者,从而创建单一数据集

  • 使用公式和计算生成额外的列

  • 应用过滤器以限制暴露给 BW 查询的数据

即使你需要底层提供者的所有字段,且没有其他提供者需要合并,仍然最好只在 CompositeProvider 之上构建 BW 查询,而不要直接在其他类型的 InfoProvider 上构建。这是因为构建 BW 查询所基于的 InfoProvider 之后无法被替换成另一个,但 CompositeProvider 的提供者是可以替换的。因此,最好在 BW 查询与 CompositeProvider 之间建立固定的关联。

CompositeProvider 是一个非常强大的建模对象。CompositeProvider 的长处在于为 BW 查询的消费准备数据集。相比之下,数据存储对象(高级)的长处在于处理复杂的数据加载场景。

CompositeProvider:系统设置

截图展示了数据集成映射界面:一个名为 P_V_SO_1 的场景,包含 Source 和 Target 面板、数据字段,以及将源键连接到目标的连线。

提示词 Token 数 634 响应 Token 数 684

在我们的场景中,CompositeProvider 将只有一个源提供者,即我们基于信息对象的标准数据存储对象。这意味着我们不必定义到多个提供者的 union 或 join。我们决定使用数据存储对象(高级)中的所有信息对象。

你可以观看以下演示,探索该 CompositeProvider 的设置:

探索 CompositeProvider

DemoWatch Demo(SAP 官方交互式练习)