メンバー・セット関数
メンバー・セット関数は、メンバーのリストを戻します。 このリストは、指定されたメンバーおよび使用される関数に基づきます。 演算子を使用して、メンバー・セット関数で「メンバー・セット関数の世代およびレベル範囲演算子」を指定できます。
メンバー・セット関数が式の一部として呼び出されると、計算が開始される前にメンバーのリストが生成されます。 リストは、指定したメンバーに基づいており、現在のメンバーから独立しているため、変更されることはありません。
計算スクリプトで計算するメンバーのリストを指定するためにメンバー・セット関数(たとえば、@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)を計算します。