@IRDESCENDANTS

The @IRDESCENDANTS calculation function for Essbase returns a member and its descendants, optionally down to a certain generation or level, and including its shared-member descendants.

This function returns the specified member and all its descendants, or all descendants down to a specified generation or level, including descendants of any occurrences of the specified member as a shared member.

You can use this function as a parameter of another function, where that parameter is a list of members. In the absence of shared members, this function behaves the same as @IDESCENDANTS.

Syntax

@IRDESCENDANTS (mbrName[, genLevNum | genLevName])

Parameters

mbrName

Any valid single member name, or a function that returns a single member.

genLevNum

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

genLevName

Optional. Level name or generation name down to which to select the members.

Notes

  • The order of members in the result list is important to consider when you use this function with certain forecasting and statistical functions. Essbase generates the list of members in the following sequence: If a shared member is encountered, the above steps are repeated on the member being shared.

    1. The specified member

    2. The nearest descendant of the member

    3. The next nearest descendant of the member, and so on

  • You can use @RDESCENDANTS to exclude the specified member and include descendants of shared members.

  • You can use @IDESCENDANTS to include the specified member and exclude descendants of shared members.

  • You can use @DESCENDANTS to exclude the specified member and descendants of shared members.

Example

Example 1

Assume a variation of the Sample Basic database such that the Product dimension includes the following members:

Product
   100
     100-10
     100-20
     100-30
   200
     200-10
     200-20
     200-30
     200-40
   Diet
     100 (Shared Member)
     200 (Shared Member)

Diet has two children "100" and "200" instead of "100-10", "200-20" and "300-30". The members "100" and "200" are shared members.

@IRDESCENDANTS(Diet)

Returns the members: Diet, 100, 100-10, 100-20, 100-30, 200, 200-10, 200-20, 200-30, 200-40 (in that order).

Example 2

@IRDESCENDANTS(East)

Returns East, New York, Massachusetts, Florida, Connecticut, and New Hampshire (in that order) and is exactly the same as @IDESCENDANTS(East).