@LDESCENDANTS

Esta función obtiene todos los descendientes de un determinado grupo, o sus descendientes hasta determinada generación o determinado nivel.

  • Esta función no incluye en el resultado a los miembros del grupo, a diferencia de la función @ILDESCENDANTS que sí los incluye.

La estructura de esta función consta de dos partes:

@LDESCENDANTS (Parte A, Parte B);

“Parte A”: Un grupo de miembros. Se puede especificar:

  • Si es dentro de un FIX con las funciones @ATTRIBUTE  (selecciona todos los miembros del outline que tienen asignado determinado tributo) o la función @UDA (selecciona todos los miembros del outline que tienen asignado determinado UDA).
  • Si es fuera de un FIX con la función @LIST.

Todos los miembros de la lista deben pertenecer a la misma dimensión.

“Parte B”: esta parte es opcional; recoge la generación o el nivel hasta  el que se quiere bajar en la obtención de los descendientes. Se puede indicar con un número (si es positivo define una generación y si es 0 o negativo define un nivel) o con el nombre de la generación o nivel.

El orden en el que obtiene los descendientes es comenzando por el más cercano al miembro especificado, siguiendo por el siguiente más cercano y así sucesivamente.

Veamos un ejemplo: Partiendo del siguiente outline:

La función @LDESCENDANTS(@LIST(CATALUÑA,VALENCIA),0)

Da como resultado:

  • BARCELONA
  • TARRAGONA
  • LERIDA
  • GERONA
  • VALENCIA NORTE
  • VALENCIA SUR

La función @LDESCENDANTS(@LIST(CATALUÑA,VALENCIA),1)

No da ningún resultado, ya que los niveles 1 de estos miembros serían ellos mismos (CATALUÑA,VALENCIA), pero en esta función los miembros del grupo no entran en la solución.

Esta función se puede utilizar como parámetro de otra función que requiera una lista de miembros:

Por ejemplo: