@LDESCENDANTS

Returns all descendants of the members in the specified member list or all descendents down to the specified generation or level. This function excludes the specified members.

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

Syntax

@LDESCENDANTS ((memberSetFunction) [,genLevNum])
ParameterDescription

memberSetFunction

A member set function that returns a list of members.

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

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

    @LIST(mbr1,mbr2,...)
  • If the @LDESCENDANTS function 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 the @LIST function. 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.

See Also