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のディメンション・メンバーにマップするファクト表の列の名前。 |
|
|
|
|
|
ディメンション表の名前、またはディメンションを定義する列を返すSQL文。このパラメータを省略した場合、colnameが使用される。 |
|
|
次に示す階層の型の1つ。 DBMS_AW.HIER_LEVELS: レベルベース階層DBMS_AW.HIER_PARENTCHILD: 親子階層DBMS_AW.MEASURE: メジャー・ディメンションDBMS_AW.NO_HIER: 階層なし |
|
|
階層を定義する列の名前。 レベルベース階層の場合、ベースレベルの列を最初に、最上位レベルの列を最後に指定する。ディメンションに複数の階層がある場合、予測で最も頻繁に使用する階層を選択し、この階層のレベルを定義する列のみを指定する。 親子階層の場合、子の列を最初に指定し、その後に親の列を指定する。 メジャー・ディメンションの場合、ディメンション・メンバーとなるファクト表の列を指定する。 |
|
|
パーティション化を制御するキーワード。次の値のいずれかを使用する。
|
例
次の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;
/