开发虚拟化层
学习目标
描述 CompositeProvider 的作用。
CompositeProvider

场景概览
我们数据流的下一步是定义一个 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
Demo:Watch Demo(SAP 官方交互式练习)