Skip to Content
Author's profile photo Xiwen Liao

BI4.2 SP3新功能:集合(Set)

本文英文版: *New BI4.2 SP3 feature* :  Working with BI Sets

如果您阅读了SAP BI 4.2 SP3: What’s New In Semantic Layer, 相信您应该已经知道,BI4.2 SP3的语义层(或者信息设计工具)方面提供了一个新功能,那就是集合。这里,就让我们来看看如何理解,创建并在报表中使用集合。

集合简介

集合是用户定义的用来聚集值列表的结构。相对于简单的SQL语句,使用集合会让您更有效的查询您的数据。

例如,用户可能计划进行市场营销活动来刺激某条产品线的销售额实现增长。由于不想浪费资金锁定错误的客户群,用户可能想要查阅产品线、收益和客户的列表。那么就会看到更多的客户列表,包含特定国家(或者地区/城市)的客户特定年龄组的客户、特定时间段(如何某年)购买了相关产品的客户、年平均收益超过多少的客户等等。

之前没有集合的时候,由于既要满足某年购买了相关产品,又要计算每一年的收益,所以没法使用单个查询来实现这个目的。

所以,我们可能首先需要创建一个查询来获得:特定国家、特定年龄组、某年购买了相关产品的客户列表,

/wp-content/uploads/2016/09/1_1046071.png

然后再使用第一个查询得到的客户列表作为过滤条件来创建第二个查询以获取这些客户每一年的收益。

/wp-content/uploads/2016/09/2_1046093.png

但是您觉得这种方法对于只负责创建报表的业务用户来说简单吗?

还有,如果过滤客户的条件足够复杂,并且返回的客户列表足够大的话,性能能够得到保证吗?

我不这么认为。

那么问题来了,有没有更加简单易用,同时又能提高性能的方法呢?有,那就是集合

集合容器

从BI4.2 SP3开始,在CMS资源库里面我们多了一个新的对象,那就是集合容器。集合容器从 Universe (.UNX) 创建并且发布到 CMS 资源库,它包含了基于 Universe (.UNX) 中的对象所定义的集合。

ℹ 注意,在此版本中,用户只能为每个 Universe 创建一个集合容器。

您可以使用用“集合容器管理”对话框创建和管理集合容器,该对话框可从资源库中的 Universe (.UNX) 直接访问。

在能够创建集合容器之前,应该确保以下前提条件:

  • Universe (.UNX)已经更新到4.2 SP3。
  • 用户已经获得“集合容器管理员”角色所需的相应权限。
  • Universe (.UNX) 已设置为允许使用子查询。
  • 业务层中有对象属性的“键”选项卡中指定了“主键”的维。


创建集合容易的步骤

/wp-content/uploads/2016/09/3_1046094.gif

集合容器管理对话框中的选项卡

“集合容器管理”对话框 说明
“主题” 列出了在 Universe 中检测到的主题。这些主题基于带有主键列的业务层对象。单击“与 Universe 同步”使用 Universe 的最新版本更新列表。
“日历” 列出的所有集合都可使用日历。单击“添加新日历”,创建新日历或单击省略号按钮,修改列表中现有的日历。
“部署” 列出与 Uiverse 相关联的当前集合容器。单击“添加新容器”,创建新容器。

示例

/wp-content/uploads/2016/09/4_1046095.gif

取回集合容器创建集合

发布到资源库中的集合容器的文件扩展名是 .SETS。在开始编写集合前,先要从资源库中取回集合容器,将其保存到本地项目中。

/wp-content/uploads/2016/09/5_1046096.gif

需要注意的是,在当前版本(4.2 SP3)中只有以下数据库支持集合:

  • SAP HANA
  • IBM Netezza
  • SQL Server
  • Oracle

如果使用别的数据库,可能会发生错误:’Update Sets data from Database’ has encountered a problem”

相信信息,请参照2366369 – BI4.2 SP3: Error “Updating Sets data from DataBase” occurs when Retrieving a Set Container in Information Design Tool     

设计集合

集合由一个或多个作为一系列步骤链接到一起的值列表构成,每个列表会限制接下来的列表可用的值。在发布到资源库之后,集合作为过滤器对象显示,可在 Web Intelligence 中的“查询面板”中使用。

基于在集合容器中定义的主题创建集合。主题通常根据业务层对象即构建。维的成员构成了用于构建集合的数据。

两类集合

集合类型 说明
“静态” 集合成员在特定时期是固定的。静态集合相当于数据的快照,捕捉的是用户考虑分析的群体的一个状态。
“暂时” 集合成员是动态的,所以会随着创建集合的多个历期的变化而变化。暂时集合是在每个日历期间已经加入、离开或逗留的成员的集合。

定义静态集合

取得集合容器之后,您可以选择某集合文件夹,然后单击“集合”选项卡菜单栏中的“插入静态集合”图标右侧的箭头,来定义静态集合。

/wp-content/uploads/2016/09/6_1046097.gif

定义暂时集合

如果集合容易包含日历,您就可以基于日历创建一个暂时集合(方法:选择集合文件夹,然后单击“集合”窗格菜单栏中的“插入暂时集合”图标右侧的箭头)。

/wp-content/uploads/2016/09/7_1046098.gif

除了时间的界定以外,定义暂时集合的步骤与定义静态集合大部分类似,所以在本文里面不重点描述,详细信息请参考信息设计工具用户指南。

集合创建成功后,您就可以可以从对象成员列表中选择集合成员,或者将集合成员选为集合容器中现有合并集合的子集合。

直接从集合列表中选择成员

通过主题从一系列可用对象中选择集合成员。

/wp-content/uploads/2016/09/8_1046099.gif

合并集合以选择列表成员

您也可以通过将主题的多个集添加到集合中,对所有集采用交运算或并运算,选择新的集成员。之后还可以将集合添加到更多集中,使用交或并运算将它们全部合并起来,以利用由复杂值组合产生的成员定义新集合。 ℹ 注意,只有已经创建并且基于同一主题的集合才能添加到集中。

/wp-content/uploads/2016/09/9_1046100.gif

关于集合步骤

构建集的价值在于合并一系列列表,回答问题,从而使用户能够改进数据集。使用以下属性,每个额外的成员列表可以与上一个成员列表组合:

集合步骤 说明
开始 这是默认步骤。这是用户创建的第一个成员列表,开启了列表序列,每个列表会根据之前的列表活动,以改进集合成员。
将列表成员添加到集合。
将列表成员从集合中删除
保留 在集和选定的成员进行交操作。将选定成员中没有的成员从集中删除。

步骤“加”

/wp-content/uploads/2016/09/a_1046101.gif

步骤“减”

/wp-content/uploads/2016/09/b_1046104.gif

步骤“保留”

/wp-content/uploads/2016/09/c_1046103.gif

构建集合

在“集合编辑器”的“步骤”或“历史记录”选项卡上,单击可用的“构建”按钮。

/wp-content/uploads/2016/09/d_1046108.gif

构建集合后,其值列表(维的主键)将数据库中创建列表成员。如果是已发布集合,即可供Web Intelligence 用户使用。资源库中保存所有集合的集合容器会在用户重新发布集合容器后更新。

/wp-content/uploads/2016/09/e_1046109.gif

发布集合容器

发布集合容器以更新资源库中的集合容器。

/wp-content/uploads/2016/09/f_1046110.gif

这样可确保集合的最新定义在查询面板中可供Web Intelligence 用作集合过滤器。

/wp-content/uploads/2016/09/g_1046111.gif

感觉怎么样?对于业务用户来说,不用设计复杂的查询,而只需要使用一个简单集合过滤器是不是让一切变得简单起来?

不过,需要注意的是,为了保证集合成功构建,请保证运行Set Materialization service的APS服务器可用,并让构建集合的用户拥有数据库写入权限。

否则,您可以遇到以下问题:

另外,您也可以可以从中央管理控制台的主页计划集合的刷新时间(从“应用程序”下拉菜单中选择“集合”,选择集合容器,然后计划“参数”页面中列出的集合刷新日期)。

/wp-content/uploads/2016/09/h_1046112.gif

好了,至此,关于集合这个BI4.2 SP3的新功能就简单介绍完了,希望对您有所帮助,也很期待您的反馈。

Assigned Tags

      4 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Former Member
      Former Member

      点赞! 不过图好像挂掉了...

      Author's profile photo Jason Xu
      Jason Xu

      好像真的看不了图

      Author's profile photo Xiaoping Zheng
      Xiaoping Zheng

      SCN最近似乎有点不稳定,可以稍后再来看看。。。

      Author's profile photo ning wang
      ning wang

      Pictures are showing up correctly . Nice blog , keep up the good works!