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

前
 
次
 

ADD_DIMENSION_SOURCEプロシージャ

ADD_DIMENSION_SOURCEプロシージャは、DBMS_AW$_DIMENSION_SOURCES_Tという表型に、キューブのディメンションに関する情報を移入します。この情報は、ADVISE_SPARSITYプロシージャによって分析されます。


注意:

OLAPワークシート内からはこのプロシージャを実行できません。SQL*PlusなどのSQLツール内で実行してください。

構文

ADD_DIMENSION_SOURCE ( 
          dimname  IN      VARCHAR2,
          colname  IN      VARCHAR2,
          sources  IN OUT  dbms_aw$_dimension_sources_t,
          srcval   IN      VARCHAR2     DEFAULT NULL,
          dimtype  IN      NUMBER       DEFAULT NO_HIER,
          hiercols IN      columnlist_t DEFAULT NULL,
          partby   IN      NUMBER       DEFAULT PARTBY_DEFAULT);

パラメータ

表B-2 ADD_DIMENSION_SOURCEプロシージャのパラメータ

パラメータ 説明

dimname

ディメンションの名前。明確にするため、アナリティック・ワークスペースのディメンションの論理名を使用する。

colname

dimnameのディメンション・メンバーにマップするファクト表の列の名前。

sources

DBMS_AW$_DIMENSION_SOURCES_Tのデータ型で定義されるオブジェクト(PL/SQL変数など)の名前。他のパラメータによって提供される情報を格納する際に使用する。

srcval

ディメンション表の名前、またはディメンションを定義する列を返すSQL文。このパラメータを省略した場合、colnameが使用される。

dimtype

次に示す階層の型の1つ。


DBMS_AW.HIER_LEVELS: レベルベース階層
DBMS_AW.HIER_PARENTCHILD: 親子階層
DBMS_AW.MEASURE: メジャー・ディメンション
DBMS_AW.NO_HIER: 階層なし

hiercols

階層を定義する列の名前。

レベルベース階層の場合、ベースレベルの列を最初に、最上位レベルの列を最後に指定する。ディメンションに複数の階層がある場合、予測で最も頻繁に使用する階層を選択し、この階層のレベルを定義する列のみを指定する。

親子階層の場合、子の列を最初に指定し、その後に親の列を指定する。

メジャー・ディメンションの場合、ディメンション・メンバーとなるファクト表の列を指定する。

partby

パーティション化を制御するキーワード。次の値のいずれかを使用する。

  • DBMS_AW.PARTBY_DEFAULT: スパース性アドバイザを使用して、このディメンションにパーティション化が適切であるかどうかを判断する。

  • DBMS_AW.PARTBY_NONE: このディメンションのパーティション化を許可しない。

  • DBMS_AW.PARTBY_FORCE: このディメンションのパーティション化を強制的に行う。

    重要: 複数のディメンションについては、強制的なパーティション化は行わない。

  • このディメンションについて作成するパーティションの数の整数値。


次のPL/SQLプログラムの抜粋は、スパース性アドバイザで使用されるTIMEディメンションに関する情報を示しています。このディメンションのソース・データは、TIME_DIMというディメンション表に格納されています。主キーの名前はMONTH_IDであり、ファクト表の外部キー列の名前もMONTH_IDです。ディメンション階層は、MONTH_ID列、QUARTER_ID列およびYEAR_ID列で定義されるレベルベースです。

このプログラムでは、情報を格納するために、DBMS_AW$_DIMENSION_SOURCES_Tの表型を持つDIMSOURCESというPL/SQL変数が宣言されています。

DECLARE
     dimsources dbms_aw$_dimension_sources_t;
BEGIN
     dbms_aw.add_dimension_source('time', 'month_id', dimsources, 
          'time_dim', dbms_aw.hier_levels,
          dbms_aw$_columnlist_t('month_id', 'quarter_id', 'year_id'));
                   .
                   .
                   .
END;
/