SAP Universe Designer - 聚合意识


在 UDT 中,您可以选择对数据库中的聚合表运行查询。可以设置一个条件,该查询将针对聚合表运行以进行查询优化。这种使用聚合表的方法称为聚合感知。

要在 Universe 中使用聚合感知,您可以在对象的“Select”语句中使用名为 @Aggregate_Aware 的函数,该函数指示针对聚合表而不是包含非聚合数据的表运行查询。

要在 Universe 中使用聚合感知,您需要按聚合级别排列对象,并使用 @aggregate_awareness 函数构建对象。要构建聚合感知对象,您需要首先识别对象:度量或维度对象。您需要找出所有表中聚合对象的所有可能组合,然后按聚合级别顺序排列它们。

例如 -

  • AAYEAR.Profit 是最高级别的聚合。
  • AAQTR.利润是下一个水平。
  • AAMONTH.Profit 是最低级别的聚合。

使用 @aggregate_aware 函数指示对象将查询所有聚合表作为其参数。您可以在“Select”语句中使用 @aggregate_aware 函数查看一个对象 -

聚合感知函数

aggregate_aware 函数使用的语法如下 -

@Aggregate_Aware(sum(agg_table_1), ... sum(agg_table_n))

将所有聚合表的名称作为参数传递。agg_table_1 是具有最高聚合级别的聚合,而 agg_table_n 是具有最低聚合级别的聚合。

使用 @aggregate_aware 函数定义对象

打开对象的编辑属性对话框 → 单击对话框旁边的“>>”按钮。

定义对象

在“编辑Select 语句”对话框中,您需要单击SELECT 语句的开头。

或者,如果对象没有 SELECT 语句,则单击选择框中的任意位置。

销售收入

您可以在右侧的函数列表下看到 @aggregate_aware 函数。根据此函数的描述:“ @Aggregate_Aware(sum(aggregate table1),...,sum(aggregate tableN)) 使用预先计算的聚合表定义度量对象”。