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