@ANCESTORS

English (Español a continuación)

This function gets all the ancestors of a given member, or those up to a certain generation or a certain level (the result does not include the specified member).

The structure of this function is:

  • @ANCESTORS (Part A, Part B)

Part A: The member from whom you want to obtain their ascendants.

Part B: this part is optional; the generation or level to which you want to go up in obtaining the ascendants. It can be indicated with a number (if it is positive it defines a generation and if it is 0 or negative it defines a level) or with the name of the generation or level.

The order in which you get the ascendants is starting with the closest to the specified member, following the next closest, and so on.

This function can be used as a parameter of another function. For example:

  • @MIN (@ANCESTORS (Part A, Part B))

The difference with the @ALLANCESTORS function is that the @ANCESTORS function allows you to limit up to what level / generation the ascendants are obtained.

Let’s see an example:

Starting from the following outline:

We apply the following calculation:

We assign 10 units to the ascendants of “Tarragona” up to the third generation. The result includes:

  • Catalonia (4th generation)
  • Spain (3rd generation)

And it does not include:

  • Markets (1st generation)
  • Europe (2nd generation)

When doing the query in Excel we get:

Español

Esta función obtiene todos los ascendientes de un miembro determinado, o aquellos hasta determinada generación o determinado nivel (el resultado no incluye al miembro especificado).

La estructura de esta función es:

@ANCESTORS(Parte A, Parte B)

Parte A: recoge el miembro del que se quieren obtener sus ascendientes.

Parte B: esta parte es opcional; recoge la generación o el nivel hasta  el que se quiere subir en la obtención de los ascendientes. 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 ascendientes es comenzando por el más cercano al miembro especificado, siguiendo por el siguientes más cercano y así sucesivamente.

Esta función se puede utilizar como parámetro de otra función. Por ejemplo:

@MIN(@ANCESTORS(Parte A, Parte B))

La diferencia con la función @ALLANCESTORS es que la función @ANCESTORS permite limitar hasta que nivel/generación se obtienen los ascendientes.

Veamos un ejemplo:

Partiendo del siguiente outline:

Aplicamos el siguiente cálculo:

Asignamos 10 unidades a los ascendentes de “Tarragona” hasta la tercera generación. El resultado incluye:

  • Cataluña (4ª generación)
  • España (3ª generación)

Y no incluye:

  • Mercados (1ª generación)
  • Europa (2ª generación)

Al hacer la consulta en Excel obtenemos: