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.

FunctionReturn Value
@ALLANCESTORSAll ancestors of member, including ancestors of shared member.
@ANCESTAncestor at distance from the current member or an explicitly specified member.
@ANCESTORSAll ancestors of member, or those ancestors up to a specified distance.
@ATTRIBUTEAll base members associated with attribute member name.
@BETWEENAll members whose name string value fall between, and are inclusive of, two specified string tokens.
@CHILDRENChildren of member.
@CURRMBRMember currently being calculated in the specified dimension.
@DESCENDANTSAll descendants of member, or those descendants down to a specified distance.
@EQUALMember names that match the specified token name.
@EXPANDExpands a member search by calling a member set function for each member in a member list.
@GENMBRSMembers of dimension that are at generation.
@IALLANCESTORSMember and ancestors of member, including ancestors of shared member.
@IANCESTORSMember, and either all member ancestors or those ancestors up to a specified distance.
@ICHILDRENMember and its children.
@IDESCENDANTSMember, and either all member descendants or those descendants down to a specified distance.
@ILANCESTORSMembers of the specified list of members, and either all ancestors of the specified list of members or those ancestors up to a specified distance.
@ILDESCENDANTSMembers of the specified list of members, and either all descendants of the specified list of members or those descendants down to a specified distance.
@ILSIBLINGSMember and its left siblings.
@IRSIBLINGSMember and its right siblings.
@IRDESCENDANTSMember and all its descendants, or those descendants down to a specified distance, including descendants of shared member.
@ISIBLINGSMember and its siblings.
@LANCESTORSAll ancestors of the specified list of members, or those ancestors up to a specified distance.
@LDESCENDANTSAll descendants of the specified list of members, or those descendants down to a specified distance.
@LEVMBRSMembers of dimension that are at level.
@LISTA single list compiled from arguments, and can be used for functions requiring an expression list, a member list, or a range list.
@LSIBLINGSLeft siblings of member.
@MATCHMembers that match a pattern search performed over a generation, a level, or a member and its descendants.
@MBRCOMPAREMember names that match the comparison criteria.
@MBRPARENTParent of the specified member.
@MEMBERMember with name string.
@MERGEMerged list from two lists.
@NEXTSIBLINGNext, or right-most, sibling of member.
@NOTEQUALMember names that do not match the specified token name.
@PARENTParent of the current member being calculated in dimension, optionally crossed with another member.
@PREVSIBLINGPrevious, or left-most, sibling of member.
@RANGEMember list that crosses a member from one dimension with a range from another dimension.
@RDESCENDANTSAll descendants of member, or those down to a specified distance, including descendants of shared member.
@RELATIVEAll members that are at distance from member.
@REMOVEList1, with anything that is also in list2 removed.
@RSIBLINGSRight siblings of member.
@SHIFTSIBLINGSibling at specified distance from member.
@SIBLINGSSiblings of member.
@UDAMembers of dimension that have UDA.
@WITHATTRBase members from dimension that are associated with an attribute meeting a condition.
@XRANGERange 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).