メンバー・セット関数
メンバー・セット関数は、メンバーのリストを戻します。 このリストは、指定されたメンバーおよび使用される関数に基づきます。 演算子を使用して、メンバー・セット関数で「メンバー・セット関数の世代およびレベル範囲演算子」を指定できます。
メンバー・セット関数が式の一部として呼び出されると、計算が開始される前にメンバーのリストが生成されます。 リストは、指定したメンバーに基づいており、現在のメンバーから独立しているため、変更されることはありません。
計算スクリプトで計算するメンバーのリストを指定するためにメンバー・セット関数(たとえば、@CHILDRENや@SIBLINGSなど)が使用されている場合、Essbaseは結果リスト内の「動的計算」または「動的計算および保管」メンバーの計算をバイパスします。
属性計算ディメンションの属性メンバーまたはメンバーをメンバー・セット関数のパラメータとして使用できるのは、@ATTRIBUTEおよび@WITHATTR関数のみです。
("1998":"2001" -> @Levmbrs (Year, 0))などのディメンション間式を使用できます。 ディメンション間演算子は連想演算子(x -> y) -> z=x -> (y -> z)ですが、x -> y = y -> xが設定されているため可換演算子ではありませんが、要素の順序が異なります。
表2-8 メンバー・セット関数
関数 | 戻り値 |
---|---|
@ALLANCESTORS | memberのすべての祖先(共有memberの祖先を含む)。 |
@ANCEST | 現在のメンバーまたは明示的に指定されたmemberからのdistanceの祖先。 |
@ANCESTORS | memberのすべての祖先、または指定したdistanceまでの祖先。 |
@ATTRIBUTE | 「属性メンバー名」に関連付けられているすべての基本メンバー。 |
@BETWEEN | 名前文字列値が、指定された2つの文字列トークンの間にある、またはそのトークンを含むすべてのメンバー。 |
@CHILDREN | memberの子。 |
@CURRMBR | 指定したdimensionで現在計算中のメンバー。 |
@DESCENDANTS | memberのすべての子孫、または指定されたdistanceまでの子孫。 |
@EQUAL | 指定されたトークン名と一致するメンバー名。 |
@EXPAND | メンバー・リスト内の各メンバーに対してメンバー・セット関数を呼び出すことで、メンバー検索を拡張します。 |
@GENMBRS | generationにあるdimensionのメンバー。 |
@IALLANCESTORS | Memberおよびmemberの祖先(共有memberの祖先を含む)。 |
@IANCESTORS | Member、およびすべてのメンバーの祖先または指定されたdistanceまでの祖先。 |
@ICHILDREN | Memberとその子。 |
@IDESCENDANTS | Member、およびすべてのメンバーの子孫または指定されたdistanceまでの子孫。 |
@ILANCESTORS | 指定されたメンバー・リストの「メンバー」、指定されたメンバー・リストのすべての祖先、または指定されたdistanceまでのそれらの祖先。 |
@ILDESCENDANTS | 指定されたメンバー・リストの「メンバー」、指定されたメンバー・リストのすべての子孫、または指定されたdistanceまでの子孫。 |
@ILSIBLINGS | Memberとその左側の兄弟。 |
@INTERSECT | メンバーの指定されたlistsの交差にあるメンバー。 |
@IRSIBLINGS | Memberとその右側の兄弟。 |
@IRDESCENDANTS | Memberおよびそのすべての子孫、または共有memberの子孫を含む指定されたdistanceまでの子孫。 |
@ISIBLINGS | Memberとその兄弟。 |
@LANCESTORS | 指定されたmembersのリストのすべての祖先、または指定されたdistanceまでの祖先。 |
@LDESCENDANTS | 指定されたmembersのリストのすべての子孫、または指定されたdistanceまでの子孫。 |
@LEVMBRS | levelにあるdimensionのメンバー。 |
@LIST | argumentsからコンパイルされた単一のリストで、式リスト、メンバー・リストまたは範囲リストを必要とする関数に使用できます。 |
@LSIBLINGS | memberの左側の兄弟。 |
@MATCH | generation、levelまたはmemberとその子孫に対して実行されるpattern検索に一致するメンバー。 |
@MBRCOMPARE | 比較基準に一致する「メンバー名」。 |
@MBRPARENT | 指定したメンバーのParent。 |
@MEMBER | stringという名前のMember。 |
@MEMBERAT | listの指定されたlocationのメンバー。 |
@MERGE | listsからマージされたリスト。 |
@NEXTSIBLING | memberの次または右端の兄弟。 |
@NOTEQUAL | 指定されたトークン名と一致しないメンバー名。 |
@PARENT | dimensionで計算されている現在のメンバーの親で、オプションで別のmemberと交差します。 |
@PREVSIBLING | memberの前または左端の兄弟。 |
@RANGE | あるディメンションのmemberと別のディメンションのrangeを横断するメンバー・リスト。 |
@RDESCENDANTS | memberのすべての子孫、または指定されたdistanceまでの子孫(共有memberの子孫を含む)。 |
@RELATIVE | memberのdistanceにあるすべてのメンバー。 |
@REMOVE | list2にもあるものがすべて削除されたList1。 |
@RSIBLINGS | memberの右側の兄弟。 |
@SHIFTSIBLING | memberからの指定されたdistanceでの兄弟。 |
@SIBLINGS | memberの兄弟。 |
@UDA | UDAを持つdimensionのメンバー。 |
@WITHATTR | conditionを満たす属性に関連付けられたdimensionの基本メンバー。 |
@XRANGE | 同じレベルの2つのmembers間のメンバーの範囲(両端を含む)。 |
メンバー・セット関数の世代およびレベル範囲演算子
演算子 : および :: メンバーのリストを戻すメンバー・セット関数とともに使用できます。 次のもの : operatorは、レベルベースの範囲と次のものを返します :: operatorは、世代ベースの範囲を返します。 たとえば、Jan:DecとJan::Decは、JanからDecまでのすべてのメンバーを戻します。
違いは、Jan:Decは同じレベルのすべてのメンバーを戻し、Jan::Decは同じ世代のすべてのメンバーを戻すことです。
たとえば、次のようなアウトラインがあるとします:
Q1 - Jan
Feb
Mar
Q2 - Apr
May
Jun
Q3
Q4 - Oct
Nov
Dec
関数@MOVAVG(Sales, 3, Jan:Dec)は、@MOVAVG(Sales, 3, Jan, Feb, Mar, Apr, May, Jun, Q3, Oct, Nov, Dec)を計算します。
関数@MOVAVG(Sales, 3, Jan::Dec)は、@MOVAVG(Sales, 3, Jan, Feb, Mar, Apr, May, Jun, Oct, Nov, Dec)を計算します。