@ILDESCENDANTS
Essbaseの@ILDESCENDANTS計算関数は、メンバー・リストとその子孫を、オプションで特定の世代またはレベルまで返します。
この関数は、指定されたメンバー・リストのメンバーと、そのメンバーのすべての子孫、あるいは指定された世代またはレベルまでのすべての子孫のいずれかを返します。
この関数を別の関数のパラメータとして使用できます。ここで、この関数にメンバーのリストが必要です。
構文
@ILDESCENDANTS ((memberSetFunction) [,genLevNum])
パラメータ
- memberSetFunction
-
メンバーのリストを返すメンバー・セット関数。
この関数の使用方法によって、許可されるメンバー・セット関数が決まります。次のガイドラインに従います。
-
@ILDESCENDANTSを単独で使用する場合(FIX文内ではない)、@LIST関数を使用し、メンバー名を指定する必要があります。例:
@LIST(mbr1,mbr2,...)
-
@ILDESCENDANTS関数をFIX文内で使用する場合、@UDAや@ATTRIBUTEなどのメンバー・セット関数を使用できます。例:
@UDA(dimName,uda)
@ATTRIBUTE (attMbrName)
この場合、@LIST関数を使用するかどうかを選択できます。たとえば、次の文はどちらも有効であり、文は同じ結果を返します。
@ATTRIBUTEのみを使用する例は次のとおりです。
FIX (@ILDESCENDANTS(@ATTRIBUTE(Caffeinated_True),@ATTRIBUTE(Ounces_12),"200-40")) ... ENDFIX;
@LISTと@ATTRIBUTEを使用する例は次のとおりです。
FIX (@ILDESCENDANTS(@LIST(@ATTRIBUTE(Caffeinated_True),@ATTRIBUTE(Ounces_12),"200-40"))) ... ENDFIX;
注意:
指定するメンバー・リストのすべてのメンバーが、同じディメンションからのものである必要があります。
-
- genLevNum
-
オプション。メンバーを選択する上限の絶対世代番号または絶対レベル番号を定義する整数値。正の整数は世代番号を表します。0または負の整数はレベル番号を表します。
例
すべての例は、Sample.Basicデータベースに基づいています。
@ILDESCENDANTS(@LIST("100","200","300"))
100 (指定したメンバー)を返します。100-10、100-20、100-30 (100の子孫)を返します。200 (指定したメンバー)を返します。200-10、200-20、200-30、200-40 (200の子孫)を返します。300 (指定したメンバー)を返します。300-10、300-20、300-30 (300の子孫)を返します。
@ILDESCENDANTS(@LIST("Market"),-1)
Market (指定したメンバー)を返します。East、West、South、Central (Marketのレベル1までの子孫)を返します。
FIX
(@ILDESCENDANTS(@UDA(Market,"Major Market")))
...
ENDFIX;
East (指定したメンバー)を返します。New York、Massachusetts、Florida、Connecticut、New Hampshire (Eastの子孫)を返します。Central (指定したメンバー)を返します。Illinois、Ohio、Wisconsin、Missouri、Iowa、Colorado (Centralの子孫)を返します。California、Texas (子孫を持たない指定したメンバー)を返します。
FIX
(@ILDESCENDANTS(@ATTRIBUTE(Caffeinated_True)@ATTRIBUTE(Ounces_12),"200–40"))
...
ENDFIX;
100-10、100-20、200-10、300-30 (カフェイン入り12オンス飲料)を返します。200-40 (指定したメンバー)を返します。これらのどのメンバーにも子孫はありません。