SAP UniverseDesigner-集約認識

UDTには、データベース内の集約テーブルに対してクエリを実行するオプションがあります。条件を設定でき、そのクエリはクエリ最適化のために集約テーブルに対して実行されます。集約テーブルを使用するこの方法は、集約認識として知られています。

ユニバースで集計認識を使用するには、非集計データを含むテーブルではなく集計テーブルに対してクエリを実行するように指示するオブジェクトの「Select」ステートメントで@Aggregate_Awareという関数を使用できます。

ユニバースで集約認識を使用するには、集約レベルごとにオブジェクトを配置する必要があり、オブジェクトは@aggregate_awareness関数を使用して構築されます。集約された認識オブジェクトを作成するには、最初にオブジェクトを識別する必要があります:メジャーオブジェクトまたはディメンションオブジェクト。すべてのテーブルで集計オブジェクトの可能なすべての組み合わせを見つけて、それらを集計レベルの順序で配置する必要があります。

例-

  • AAYEAR.Profitは、最高レベルの集計です。
  • AAQTR.Profitは次のレベルです。
  • 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))は、事前に計算された集計テーブルを使用してメジャーオブジェクトを定義します」。