HIERHEIGHTファンクションは、指定されたレベルのノードの値を、階層ディメンションの現行のステータス・リストの最初の値として返します。
指定された階層ディメンションの値を、事前定義済のリレーションにレベル別に移入するには、HIERHEIGHTコマンドを使用します。
パラメータ
階層ディメンションの親子のセルフ・リレーション。詳細は、「parentrelリレーション」を参照してください。
階層ディメンションのレベルを表すINTEGER
値。値1
は階層ディメンションの最下位レベルを表します。
使用上の注意
階層ディメンションの制限
HIERHEIGHTファンクションは、常に階層ディメンションの単一の値を返します。HIERHEIGHTファンクションをコールする前に階層ディメンションを単一の値に制限しない場合、ディメンションの現行のステータス・リストの最初の値に対してHIERHEIGHTファンクションが実行されます。通常、HIERHEIGHTファンクションをコールする前に階層ディメンションを単一の値に制限するか、階層ディメンションの各値に対してHIERHEIGHTファンクションを実行するためにFOR文の後にHIERHEIGHTファンクションを使用します。
例
例7-109 単純なコマンドとしてのHIERHEIGHTの使用方法
アナリティック・ワークスペースに、geography
という名前の階層ディメンション、およびgeography
のStandard
階層にある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
および3
のAmericas
のノードを検索するには、次の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
という名前のリレーションを作成し、geography
をAmericas
に制限したとします。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文を発行して、geography
をAmericas
およびAsia
に制限し、Standard
階層のレベルごとにHIERHEIGHTファンクションをコールするとします。
LIMIT geography TO 'Americas', 'Asia' CALL findnodes
Americas
およびAsia
のgeography
値に関する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