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

前
 
次
 

HIERSHAPE

HIERSHAPEファンクションは、階層ディメンションが指定されたシェイプを持つかどうかを識別します。

戻り値

BOOLEAN

構文

HIERSHAPE(parent-relation[(qdr)] {LEVEL | RAGGED | SKIPLEVEL | REGULAR} USING levelrel -

[INHIERARCHY inhvalueset] LEVELORDER levelvalueset)

パラメータ

parent-relation

階層ディメンションの親子のセルフ・リレーションの名前を表すテキスト式。(「parentrelリレーション」を参照してください。)

qdr

parent-relationを修飾するQDRの名前を表すテキスト式。

LEVEL

このオプションは、すべてのメンバーが、levelrelで定義されているレベルと同じレベルの一部であるかどうかを決めます。

RAGGED

リーフ・ノードが階層内の異なるレベルに位置する階層。

SKIPLEVEL

1つ以上のリーフ・ノードが、その次の最も明らかなレベルより上位に位置する親にリンクされている階層。

REGULAR

それぞれの子が階層の次のレベルに位置する親を持つ、従来のレベルベース階層。

levelrel

階層ディメンションのレベル・リレーションの名前を表すテキスト式。(「levelrelリレーション」を参照してください。)

inhvalueset

階層ディメンションのinhier値セットの名前を表すテキスト式。(「inhier値セットまたは変数」を参照してください。)

levelvalueset

階層ディメンションのhierlevels値セットの名前を表すテキスト式。(「hierlevels値セット」を参照してください。)

使用上の注意

スターに矛盾しない階層

ディメンションのすべてのレベル階層を、ディメンション・レベルごとに1つの列およびリーフ・メンバーごとに1つの行を持つ単一の表として表すことができる場合、ディメンションはスターに矛盾しません。このように表すことができない場合、ディメンションはスターに矛盾します。

スターに矛盾するディメンションの例として、時間ディメンションにYEAR、QUARTERおよびMONTHという3つのレベルがあり、さらにFISCALおよびCALENDARという2つの階層があるとします。両方の階層には、降順に、YEAR、QUARTERおよびMONTHというレベルがあります。階層には次のメンバーがあるとします。

CALENDAR階層:

CY2012
  CYQ1_2012
     Jan_2012
     Feb_2012
     Mar_2012
  CYQ2_2012
     Apr_2012
     May_2012
     Jun_2012
    ...

FISCAL階層:

FY2012
  FYQ1_2012
     Apr_2012
     May_2012
     Jun_2012
  FYQ2_2012
     Jul_2012
     Aug_2012
     Sep_2012
   ...

これは有効かつ矛盾しないディメンションですが、1つの表で3つの列のみを使用して表すことができないため、スターに矛盾します。たとえば、MONTHがApr_2012である列には、CYQ2_2012およびFYQ1_2012というQUARTERに対する2つの異なる値が必要になりますが、これは可能ではありません。

このディメンションをスターに矛盾にしないようにするには、MONTHレベルを、FISCAL_MONTHおよびCALENDAR_MONTHという2つの異なるレベルに置き換え、同様に、YEAR年レベルを、FISCAL_YEARおよびCALENDAR_YEARに置き換える必要があります。