@LDESCENDANTS

The @LDESCENDANTS calculation function for Essbase returns a member list's descendants, optionally down to a certain generation or level.

This function excludes the specified members.

You can use this function as a parameter of another function, where the function requires a list of members.

Syntax

@LDESCENDANTS ((memberSetFunction) [,genLevNum])

Parameters

memberSetFunction

A member set function that returns a list of members.

How this function is used determines which member set functions are allowed. Follow these guidelines:

  • If this function is used alone (not within a FIX statement), you must use @LIST and specify member names. For example:

    @LIST(mbr1,mbr2,...)
  • If @LDESCENDANTS is used within a FIX statement, you can use member set functions such as @UDA and @ATTRIBUTE. For example:

    @UDA(dimName,uda)
    @ATTRIBUTE (attMbrName)

    In this case, you can choose whether to use @LIST. For example, both of the following statements are valid, and the statements return the same results.

    Example using only @ATTRIBUTE:

    FIX
    (@LDESCENDANTS(@ATTRIBUTE(Caffeinated_True),@ATTRIBUTE(Ounces_12),"200-40"))
    ...
    ENDFIX;

    Example using @LIST and @ATTRIBUTE:

    FIX
    (@LDESCENDANTS(@LIST(@ATTRIBUTE(Caffeinated_True),@ATTRIBUTE(Ounces_12),"200-40")))
    ...
    ENDFIX;

Caution:

All members of the specified member list must be from the same dimension.

genLevNum

Optional. The integer value that defines the absolute generation or level number up to which to select members. A positive integer defines a generation number. A value of 0 or a negative integer defines a level number.

Example

All examples are from the Sample.Basic database.

@LDESCENDANTS(@LIST("100","200","300"))

Returns 100-10, 100-20, 100-30 (the descendants of 100); 200-10, 200-20, 200-30, 200-40 (the descendants of 200); and 300-10, 300-20, 300-30 (the descendants of 300).

@LDESCENDANTS(@LIST("Market"),-1)

Returns East, West, South, and Central (the descendants of the specified member Market to level 1).

FIX
(@LDESCENDANTS(@UDA(Market,"Major Market")))
...
ENDFIX;

Returns New York, Massachusetts, Florida, Connecticut, and New Hampshire (the descendants of the specified member East); and Illinois, Ohio, Wisconsin, Missouri, Iowa, and Colorado (the descendants of the specified member Central). California and Texas (specified members) are excluded because they do not have descendants.

FIX
(@LDESCENDANTS(@ATTRIBUTE(Caffeinated_True),@ATTRIBUTE(Ounces_12),"200–40"))
...
ENDFIX;

Returns an empty list as none of the specified members (100-10, 100-20, 200-10, 300-30, which are caffeinated, 12-ounce drinks, and 200-40) have descendants.