Essbase Member Set Functions

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).