Member set functions return a list of members. This list is based on
the member specified and the function used. You can use operators to specify Generation and Level Range Operators for Member
Set Functions with member set functions.
When a member set function is called as part of a formula, the list
of members is generated before the calculation begins. The list never varies
because it is based on the specified member and is independent of the current
member.
If a member set function (for example, @CHILDREN or @SIBLINGS) is used
to specify the list of members to calculate in a calculation script, Essbase bypasses the calculation of any Dynamic Calc or Dynamic Calc and Store members
in the resulting list.
Only the @ATTRIBUTE and @WITHATTR functions can use attribute members
or members of the Attribute Calculations dimension as parameters in member
set functions.
You can use cross-dimension expressions such as (“1998″:”2001” -> @Levmbrs
(Year, 0)). The cross-dimensional operator is associative (x -> y) -> z=x
-> (y -> z), but not commutative because x -> y = y -> x is a set, but the
order of elements is different.
Function | Return Value |
---|---|
@ALLANCESTORS | All ancestors of member, including ancestors of shared member. |
@ANCEST | Ancestor at distance from the current member or an explicitly specified member. |
@ANCESTORS | All ancestors of member, or those ancestors up to a specified distance. |
@ATTRIBUTE | All base members associated with attribute member name. |
@CHILDREN | Children of member. |
@CURRMBR | Member currently being calculated in the specified dimension. |
@DESCENDANTS | All descendants of member, or those descendants down to a specified distance. |
@GENMBRS | Members of dimension that are at generation. |
@IALLANCESTORS | Member and ancestors of member, including ancestors of shared member. |
@IANCESTORS | Member, and either all member ancestors or those ancestors up to a specified distance. |
@ICHILDREN | Member and its children. |
@IDESCENDANTS | Member, and either all member descendants or those descendants down to a specified distance. |
@ILANCESTORS | Members of the specified list of members, and either all ancestors of the specified list of members or those ancestors up to a specified distance. |
@ILDESCENDANTS | Members of the specified list of members, and either all descendants of the specified list of members or those descendants down to a specified distance. |
@ILSIBLINGS | Member and its left siblings. |
@IRSIBLINGS | Member and its right siblings. |
@IRDESCENDANTS | Member and all its descendants, or those descendants down to a specified distance, including descendants of shared member. |
@ISIBLINGS | Member and its siblings. |
@LANCESTORS | All ancestors of the specified list of members, or those ancestors up to a specified distance. |
@LDESCENDANTS | All descendants of the specified list of members, or those descendants down to a specified distance. |
@LEVMBRS | Members of dimension that are at level. |
@LIST | A single list compiled from arguments, and can be used for functions requiring an expression list, a member list, or a range list. |
@LSIBLINGS | Left siblings of member. |
@MATCH | Members that match a pattern search performed over a generation, a level, or a member and its descendants. |
@MEMBER | Member with name string. |
@MERGE | Merged list from two lists. |
@NEXTSIBLING | Next, or right-most, sibling of member. |
@PARENT | Parent of the current member being calculated in dimension, optionally crossed with another member. |
@PREVSIBLING | Previous, or left-most, sibling of member. |
@RANGE | Member list that crosses a member from one dimension with a range from another dimension. |
@RDESCENDANTS | All descendants of member, or those down to a specified distance, including descendants of shared member. |
@RELATIVE | All members that are at distance from member. |
@REMOVE | List1, with anything that is also in list2 removed. |
@RSIBLINGS | Right siblings of member. |
@SHIFTSIBLING | Sibling at specified distance from member. |
@SIBLINGS | Siblings of member. |
@UDA | Members of dimension that have UDA. |
@WITHATTR | Base members from dimension that are associated with an attribute meeting a condition. |
@XRANGE | Range of members between (and inclusive of) two members at the same level. |
Generation and Level Range Operators for Member
Set Functions
The operators : and :: can be used with member set functions, which
return a list of members. The : operator returns level-based ranges and the
:: operator returns generation-based ranges. For example, Jan:Dec and Jan::Dec
both return all members between and inclusive of Jan and Dec.
The difference is that Jan:Dec returns all members at the same level
and Jan::Dec returns all members at the same generation.
For example, if we have the outline:
Q1 - Jan Feb Mar Q2 - Apr May Jun Q3 Q4 - Oct Nov Dec
The function @MOVAVG(Sales, 3, Jan:Dec) computes @MOVAVG(Sales, 3, Jan,
Feb, Mar, Apr, May, Jun, Q3, Oct, Nov, Dec).
The function @MOVAVG(Sales, 3, Jan::Dec) computes @MOVAVG(Sales, 3,
Jan, Feb, Mar, Apr, May, Jun, Oct, Nov, Dec).