@DESCENDANTS / @IDESCENDANTS

English (Español a continuación)

This function allows to select members who are below (are dependents) of a certain member. Offering various options:

  • Select all descendant members.
  • Select all descendant members up to a certain level.

There are two variants of this function:

  • The @DESCENDANTS function does not include the reference member in the selection.
  • The @IDESCENDANTS function does include the reference member in the selection.

This function consists of two arguments:

  • @DESCENDANTS (A, B)

Part “A”: It is the member that serves as a reference to select the other members. It can be a dimension or a specific member of the dimension.

Let’s see an example: Let’s consider the “Market” dimension with the following structure:

You can use this function:

  • @DESCENDANTS (“Markets”)
  • @DESCENDANTS (“Madrid”)

Part “B”: This argument is optional:

If not reported this function selects all descendant members of the reference member.

If it is informed, it menas up to what level of descent it has to select. It is reported by an integer:

  • If it is positive, it indicates how many levels (generations) it must descend from the reference member.
  • If it is zero or negative, it is indicated to where it must descend but counting from below, from the zero level:
    • Zero indicates that it should descend to the level zero.
    • -1 indicates that it should descend to level one.

If we want to exclude some members from the specified selection, we can use this function together with the @REMOVE function.

For example:

  • @REMOVE(@DESCENDANTS (“Mercados”), @LIST(“Barcelona”, ”Alicante”))

We indicate that of the descendants of the “Market” dimension exclude Barcelona and Alicante.

(*) ATTENTION: The quotation marks are not mandatory when including the names of the dimensions or the members:

  • @REMOVE(@DESCENDANTS(Markets)@LIST(Barcelona, ​​Alicante))

They are only mandatory when they are compound names and have blank spaces:

  • @REMOVE(@DESCENDANTS(Markets),@LIST(“Palma de Mallorca”))

Let’s see some examples of the @DESCENDANTS function: (we mark the selected members in yellow)

  • @DESCENDANTS (“Markets”)
  • @DESCENDANTS (“Markets”, – 1)

In this case select up to level 1 (excluding levels 0).

  • @REMOVE (@IDESCENDANTS (“Mercados”), @IDESCENDANTS (“Madrid”), @IDESCENDANTS (“Barcelona”))

Español

Esta función permite seleccionar a los miembros que estén por debajo (sean dependientes) de un miembro determinado. Ofreciendo diversas opciones:

  • Seleccionar a todos los miembros descendientes.
  • Seleccionar a todos los miembros descendientes hasta  cierto nivel.

Hay dos variantes de esta función:

  • La función @DESCENDANTS no incluye en la selección al miembro de referencia.
  • La función @IDESCENDANTS sí incluye en la selección al miembro de referencia.

Esta función consta de dos argumentos:

@DESCENDANTS(A,B)

Parte “A”: Es el miembro que sirve de referencia para seleccionar a los otros miembros. Puede ser una dimensión o un miembro determinado de la dimensión.  

Veamos un ejemplo: Consideremos la dimensión “Mercado” con la siguiente estructura:

Cabe utilizar esta función:

@DESCENDANTS(“Mercados”)

@DESCENDANTS(“Madrid”)

Parte “B”: Este argumento es opcional:

Si no se informa esta función selecciona todos los miembros descendientes del miembro de referencia.

Si se informa se le indica a la función hasta que nivel de descendencia tiene que seleccionar.  Se informa mediante un número entero:

  • Si es positivo indica cuantos niveles (generaciones) debe descender a partir del miembro de referencia.
  • Si es cero o negativo se le indica hasta donde debe descender pero contando desde abajo, desde el nivel cero:

Un cero indica que debe descender hasta el nivel cero.

Un -1 indica que debe descender hasta el nivel uno.

Si de la selección especificada queremos excluir algunos miembros podemos utilizar esta función conjuntamente con la función @REMOVE.

Por ejemplo:

@REMOVE(@DESCENDANTS(“Mercados”),@LIST(“Barcelona”,”Alicante”))

Le indicamos que de los descendientes de la dimensión “Mercado” excluya Barcelona y Alicante.

(*) ATENCIÓN: Las comillas no son obligatorias al incluir los nombres de las dimensiones y de los miembros:

@REMOVE(@DESCENDANTS(Mercados),@LIST(Barcelona,Alicante))

Únicamente son obligatorias cuando son nombres compuestos y tienen espacios en blanco:

@REMOVE(@DESCENDANTS(Mercados),@LIST(“Palma de Mallorca”))

Veamos algunos ejemplos de la función @DESCENDANTS: (marcamos en amarillo los miembros seleccionados)

@DESCENDANTS(“Mercados”)

@DESCENDANTS(“Mercados”,-1)

En este caso selecciona hasta el nivel 1 excluyendo los niveles 0.

@REMOVE(@IDESCENDANTS(“Mercados”), @IDESCENDANTS(“Madrid”), @IDESCENDANTS(“Barcelona”))