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