HIERDEPTHコマンドは、リレーションの各階層について、最上位の階層からの深さを計算し、深さリレーションとも呼ばれる事前に定義されたリレーションにその値を格納するコマンドです。
構文
HIERDEPTH parent-rel [(qdr-list)] INTO depth-rel [INHIERARCHY inh-valueset ]
引数
階層ディメンションの親子のセルフ・リレーション。詳細は、「parentrelリレーション」を参照してください。
parentrelの値を制限するQDRのリスト。「修飾データ参照の構文」の説明に従ってQDRを指定します。qdrlistの値を指定しない場合、HIERDEPTHは現行のステータスにあるparentrelの値を使用します。
HIERDEPTHコマンドが実行されたときに移入される、事前に定義されたリレーション。このリレーションは、複数のディメンションを持つことができますが、階層ディメンションの深さを表す他の1つのNUMBER
ディメンション、およびparentrelのディメンションによってディメンション化されている必要があります。
たとえば、parent-relが、dim1およびdim2という2つのディメンションを持つ場合、次に示すコードでは、3つの値を持つnumdimという名前のNUMBER
ディメンションを定義し、さらにdim1およびdim2によってディメンション化され、numdimの値をその値として持つdepthrelという名前の深さリレーションを定義します。
DEFINE numdim dimension NUMBER(3) DEFINE depthrel RELATION numdim <dim1 dim2>
グルーピングIDを作成する際に検討される階層ディメンション値を持つ値セット・オブジェクトの名前。値セットに含まれない値は無視されます。詳細は、「inhier値セットまたは変数」を参照してください。
例
例10-3 階層の深さリレーションの作成および移入
アナリティック・ワークスペースに、geog
、geog_hierlist
およびgeog_parentrel
オブジェクトが含まれる場合を想定します(例9-144「リレーションにグルーピングIDを移入するGROUPINGIDコマンドの使用方法」を参照)。これらのオブジェクトによって表される階層の深さリレーションを作成するには、次のDMLコードを発行します。
" Define the number dimension for the depthrel DEFINE numdepth DIMENSION NUMBER (3) " Define the depth relation " Populate the depth relation HIERDEPTH geog_parentrel INTO depthrel REPORT DOWN geog depthrel ------------------DEPTHREL------------------- ----------------GEOG_HIERLIST---------------- GEOG Political_Geog Sales_Geog -------------- ---------------------- ---------------------- Boston 3 3 Springfield 3 3 Hartford 3 3 Mansfield 3 3 Montreal 3 3 Walla Walla 3 3 Portland 3 3 Oakland 3 3 San Diego 3 3 MA 2 2 CT 2 2 WA 2 2 CA 2 2 Quebec 2 2 East 0 1 West 0 1 All Regions 0 0 USA 1 0 Canada 1 0 All Countries 0 0