ヘッダーをスキップ
Oracle® OLAP DMLリファレンス
11gリリース2 (11.2)
B61346-03
  ドキュメント・ライブラリへ移動
ライブラリ
製品リストへ移動
製品
目次へ移動
目次
索引へ移動
索引

前
 
次
 

AGGMAP ADDまたはREMOVEモデル

AGGMAP ADDまたはREMOVEモデル・コマンドは、以前に定義された集計仕様(AGGMAP型のaggmapオブジェクト)に対して、以前に定義されたモデルを追加または削除します。モデルは集計仕様内で使用され、非階層ディメンション(明細項目など)でデータを集計しますが、非階層ディメンションには親リレーションがないため、RELATION文では集計できません。詳細はMODEL(集計内)を参照してください。


注意:

AGGMAP ADD MODELおよびAGGMAP REMOVE MODEL文を使用してもaggmapオブジェクトにモデルを一時的に追加できますが、通常は、この操作を実行する次のようなMAINTAIN ADD SESSION文を使用します。

MAINTAIN dimension ADD SESSION member = model APPLY TO AGGMAP aggmap

MAINTAIN ADD SESSION文を使用すると、あるセッションで計算されたメンバーおよびその定義のいずれも次のセッションには維持されず、どちらも作成されたセッションが終了すると削除されます。


構文

AGGMAP {ADD model TO aggmap|REMOVE model FROM aggmap}

パラメータ

ADD

モデルを、aggmapオブジェクトに一時的に追加します。モデルは、セッションの期間中のみaggmapにアタッチされます。アナリティック・ワークスペースが更新およびコミットされた場合でも、セッションが閉じるとモデルはaggmapから廃棄されます。

REMOVE

モデルを、aggmapから削除します。

model

指定されたaggmapに追加するモデル・オブジェクトの名前。

aggmap

以前に定義された、AGGMAP型のaggmapオブジェクトの名前。

例9-25 aggmapへのモデルの一時的な追加

例として、次の定義を持つletter.aggmapという名前のaggmapオブジェクトがあるとします。

DEFINE LETTER.AGGMAP AGGMAP
AGGMAP
RELATION letter.letter PRECOMPUTE ('AA')
END

さらに、ディメンション値AABおよびABAによりディメンション化されるセルの、サマリー変数データを作成するとします。ただし、このデータをアナリティック・ワークスペースに永続的に格納することはしません。セッション中に、データを参照するだけです。

この種類の集計を実行する手順は、次のとおりです。

  1. カスタム集計のディメンション値を作成します。このディメンション値は、ディメンション値AABおよびABAの親になります。次の文では、letterディメンションに'BB'を追加します。

    MAINTAIN letter ADD 'BB'
    
  2. AGGREGATIONファンクションを含むMODELオブジェクトを作成し、このオブジェクトによって子ディメンション値が新しいディメンション値に関連付けられます。次のモデルは、AABおよびABAの親としてBBを識別します。親ディメンション値(この場合はBB)を、親リレーション(letter.letter)の親としてあらかじめ定義することはできません。

    DEFINE LETTER.MODEL MODEL
    MODEL
    DIMENSION letter
    BB=AGGREGATION('AAB' 'ABA')
    
  3. AGGMAP ADD文を実行して、モデルを既存のAGGMAPオブジェクトに追加します。

    AGGMAP ADD letter.model TO letter.aggmap
    

    ここで、aggmapは次のようになります。

    DEFINE LETTER.AGGMAP AGGMAP
    AGGMAP
    RELATION letter.letter PRECOMPUTE ('AA')
    END
    AGGMAP ADD letter.model
    
  4. モデルは、次の式のようにAGGREGATEファンクションによってのみ実行され、AGGREGATEコマンドからは無視されます。

    REPORT AGGREGATE(units USING letter.aggmap)
    
  5. セッション中にaggmapからモデルを削除する場合、AGGMAP REMOVE文を使用します。

  6. 使用しているaggmapが、アナリティック・ワークスペースで永続オブジェクトにならないようにするには、セッションを閉じる前に次の文を発行して、手順1で追加したディメンション値を削除してください。

    MAINTAIN letter DELETE 'BB'
    

    セッションが終了すると、Oracle OLAPはAGGMAP ADD文を使用して追加されたモデルを自動的に削除します。AGGMAP REMOVE文を明示的に発行する必要はありません。