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

前
 
次
 

HIERHEIGHT

HIERHEIGHTファンクションは、指定されたレベルのノードの値を、階層ディメンションの現行のステータス・リストの最初の値として返します。

指定された階層ディメンションの値を、事前定義済のリレーションにレベル別に移入するには、HIERHEIGHTコマンドを使用します。

戻り値

HIERHEIGHTから返されるデータ型は、parentrelのディメンション値のデータ型です。

構文

HIERHEIGHT(parentrel [,] level)

パラメータ

parentrel

階層ディメンションの親子のセルフ・リレーション。詳細は、「parentrelリレーション」を参照してください。

level

階層ディメンションのレベルを表すINTEGER値。値1は階層ディメンションの最下位レベルを表します。

使用上の注意

階層ディメンションの制限

HIERHEIGHTファンクションは、常に階層ディメンションの単一の値を返します。HIERHEIGHTファンクションをコールする前に階層ディメンションを単一の値に制限しない場合、ディメンションの現行のステータス・リストの最初の値に対してHIERHEIGHTファンクションが実行されます。通常、HIERHEIGHTファンクションをコールする前に階層ディメンションを単一の値に制限するか、階層ディメンションの各値に対してHIERHEIGHTファンクションを実行するためにFOR文の後にHIERHEIGHTファンクションを使用します。

例7-109 単純なコマンドとしてのHIERHEIGHTの使用方法

アナリティック・ワークスペースに、geographyという名前の階層ディメンション、およびgeographyStandard階層にあるgeography値のセルフ・リレーションであるg0.stanparentという名前のリレーションがあるとします。

DEFINE g0.newparent RELATION geography <geography>
LD Parent-child when hierarchy of geography is 1

REPORT g0.stanparentのような文を発行すると、g0.stanparentの値が表示されます。

GEOGRAPHY          G0.STANPARENT
---------------- ----------------
World            NA
Americas         World
Canada           Americas
Toronto          Canada
Montreal         Canada
Ottawa           Canada
...              ...
USA              Americas
Boston           USA
LosAngeles       USA
...              ...
Mexico           Americas
Mexicocity       Mexico
Argentina        Americas
BuenosAires      Argentina
Brazil           Americas
Saopaulo         Brazil
Colombia         Americas
Bogota           Colombia
Australia        World
East.Aust        Australia
Sydney           East.Aust
Madrid           Spain
Budapest         Hungary
Athens           Greece
Vienna           Austria
Melbourne        East.Aust
Central.aust     Australia
...              ...
Perth            West.Aust
Bombay           India
Malaysia         Asia
Europe           World
France           Europe
Caen             France
Paris            France

次のOLAP DML文を発行して、geographyを値Americasに制限します。

LIMIT geography TO 'Americas'

HIERHEIGHTファンクションを使用して階層の最下位レベル(レベル1)のAmericasのノードを検索するには、次のOLAP DML文を発行します。

REPORT HIERHEIGHT(g0.stanparent 1)

生成されるレポートは次のとおりです。

HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
NA

HIERHEIGHTファンクションを使用して階層の最上位レベル(レベル4)のAmericasのノードを検索するには、次のOLAP DML文を発行します。

REPORT HIERHEIGHT(g0.stanparent 4)

生成されるレポートは次のとおりです。

HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
World

HIERHEIGHTファンクションを使用して階層のレベル2および3Americasのノードを検索するには、次のOLAP DML文を発行します。

REPORT HIERHEIGHT(g0.stanparent 2)
REPORT HIERHEIGHT(g0.stanparent 3)

生成されるレポートは次のとおりです。

HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
NA
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
Americas

各レベルの出力は、HIERHEIGHTコマンドを使用して作成したリレーションに作成された値との間に対応関係があることに注意してください。たとえば、geographyのStandard階層に対してgeog.stanhierrelという名前のリレーションを作成し、geographyAmericasに制限したとします。geog.stanhierrelのレポートには、レベルごとに同じgeographyの値が表示されます。

LIMIT geography TO 'AMERICAS'
REPORT DOWN geography geog.stanhierrel

                 ---------------------------GEOG.STANHIERREL--------------------
                 ----------------------------GEOG.LVLDIM------------------------
GEOGRAPHY               1                2                3                4
---------------- ---------------- ---------------- ---------------- ------------
Americas         NA               NA               Americas         World

例7-110 FOR文の後のHIERHEIGHTの使用方法

アナリティック・ワークスペースに、findnodesという次のようなプログラムがあるとします。このプログラムは、geography値がすべてステータスにあるノードを検索します。

DEFINE FINDNODES PROGRAM
PROGRAM
VARIABLE level INTEGER
FOR geography
DO
counter = 1
WHILE counter LE statlen(geog.lvldim)
DO
REPORT HIERHEIGHT(g0.stanparent level)
level = level + 1
DOEND
DOEND
END

次のOLAP文を発行して、geographyAmericasおよびAsiaに制限し、Standard階層のレベルごとにHIERHEIGHTファンクションをコールするとします。

LIMIT geography TO 'Americas', 'Asia'
CALL findnodes

AmericasおよびAsiageography値に関するfindnodesプログラムの出力は、次のとおりです。プログラムのレポートは、最初にAmericasの各レベルの値を表示します。次に、Asiaの各レベルの値がレポートされます。

HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
NA
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
NA
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
Americas
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
World
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
NA
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
NA
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
Asia
 
HIERHEIGHT(G0.STANPARENT
COUNTER)
------------------------------
World

各レベルの出力は、HIERHEIGHTコマンドを使用して作成したリレーションに作成された値との間に対応関係があることに注意してください。

LIMIT geography TO 'Americas' 'Asia'
REPORT DOWN geography geog.stanhierrel

                 ---------------------------GEOG.STANHIERREL--------------------
                 ----------------------------GEOG.LVLDIM------------------------
GEOGRAPHY               1                2                3                4
---------------- ---------------- ---------------- ---------------- ------------
Americas         NA               NA               Americas         World
Asia             NA               NA               Asia             World