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))は、事前に計算された集計テーブルを使用してメジャーオブジェクトを定義します」。