InfoProvider 是为查询提供信息的所有对象。InfoProvider 可分为两组:永久存储数据(在数据库表中)的InfoProvider 和不在BI 中存储数据而在执行查询时收集数据的InfoProvider。前者有时称为数据目标。不在BI 中永久存储数据的InfoProvider 包括InfoSet、VirtualProvider 和MultiProvider。
BI InfoSet 是将任何目标收集和连接到逻辑视图的对象,可以作为查询提供方来收集和使用。它们在许多方面都类似数据库视图,收集设计人员后续访问的各种表。
信息集是SAP BI 中众多信息提供者中的一种。信息集本身并没存储物理数据,它只是在数据存储对象、信息对象(带有主数据的特性〉和信息立方体之上形成一个语义层。基于这个语义层可以使用BEx 查询设计器在信息集的基础上定义报表。
下面我们先介绍InfoSet。
在InfoArea下面点击创建信息集,得到下图。填写对应的信息。
在"相关的信息提供者"窗口中,系统自动列出了与原始的数据对象相关的信息立方体、数据存储对象和特性。同样使用拖拽的方法来维护数据对象,建立关系。
在维护数据对象的连接关系时,要注意两个问题:
①设置连接方式。信息集中的对象连接使用的是数据库的连接技术,在默认的情况下,
使用的是内部连接。也就是说,只有两个对象都有的记录才出现在信息集当中。如果想修改这一设置,可以在选定的对象上右击,从右键菜单中选择"左侧外部连接"命令,这意味着,只有在这一选定对象里有的记录才出现在信息集中。所以,两个对象同时选择"左侧外部连接"是不允许的。
②时间相关的数据对象的连接。我们在前面提到过,信息对象的属性和层级结构可能是时间相关的。相应的,当信息集里用到与时间相关的信息对象时也要注意相关的设置。与时间相关的信息对象自动包含于有效时间的起止时间字段。在数据存储对象和信息立方体上,可以人为地设置定义时间间隔,用于实现与时间相关的查询。
· 通常,SAP 不再支持一个“信息集”中有两个以上“信息块”。因此,如果一个“信息集”中包含两个以上“信息块”,系统会发布警告。
· 在一个“信息集”中仅使用少量交集,尤其在加载大量数据时。