@RANGEFIRSTVAL / @RANGELASTVAL

English (Español a continuación)

These functions allow to obtain:

  • @RANGEFIRSTVAL: The first value of a range
  • @RANGELASTVAL: The last value of a range

The structure of these two functions is similar: it consists of two members:

  • @RANGEFIRSTVAL (“Part A”, “Part B”)
  • @RANGELASTVAL (“Part A”, “Part B”)

“Part A”: determines the treatment given to both the 0 and the #missing. It can take 4 values:

  • SKIPNONE: treats 0 and #missing as one more value.
  • SKIPMISSING: ignore #missing.
  • SKIPZERO: ignore 0s.
  • SKIPBOTH: ignore both.

“Part B”: Sets the range in which this function will locate the first (@RANGEFIRSTVAL) or the last value (@RANGELASTVAL). It can be defined:

  • A list of members.
    • For example: (Madrid, Barcelona, ​​Valencia …)
  • A list of complex members.
    • For example: (2018-> January, 2018-> March, 2018-> July…)
  • A function that defines a list of members of the same dimension. In this case, this function applies the order of the members in the Outline.
    • For example: @RELATIVE (Markets, 0)

Let’s see some examples:

  • @RANGEFIRSTVAL (SKIPNONE, @ RELATIVE (Months, 0)) = 0
  • @RANGEFIRSTVAL (SKIPMISSING, @ RELATIVE (Months, 0)) = 0
  • @RANGEFIRSTVAL (SKIPZERO, @ RELATIVE (Months, 0)) = 50
  • @RANGEFIRSTVAL (SKIPBOTH, @ RELATIVE (Months, 0)) = 50
  • @RANGELASTVAL (SKIPNONE, @ RELATIVE (Months, 0)) = #missing
  • @RANGELASTVAL (SKIPMISSING, @ RELATIVE (Months, 0)) = 45
  • @RANGELASTVAL (SKIPZERO, @ RELATIVE (Months, 0)) = #missing
  • @RANGELASTVAL (SKIPBOTH, @ RELATIVE (Months, 0)) = 45

We can use this function within a calculation. For example:

Español

Estas funcionen permiten obtener:

  • @RANGEFIRSTVAL: El primer valor de un rango
  • @RANGELASTVAL: El último valor de un rango

La estructura de estas dos funciones es similar: consta de dos miembros:

  • @RANGEFIRSTVAL(“Parte A”, ”Parte B”)
  • @RANGELASTVAL(“Parte A”, ”Parte B”)

“Parte A”: determina el tratamiento que le va a dar tanto a los 0 como a los #missing. Puede tomar 4 valores:

  • SKIPNONE: trata a los 0 y a los #missing como a un valor más.
  • SKIPMISSING: ignora los #missing.
  • SKIPZERO: ignora los 0.
  • SKIPBOTH: ignora ambos.

“Parte B”: Fija el rango en el que esta función va a localizar el primer (@RANGEFIRSTVAL) o el último valor (@RANGELASTVAL). Puede venir definido:

  • Una lista de miembros.
    • Por ejemplo: (Madrid, Barcelona, Valencia…)
  • Una lista de miembros complejos.
    • Por ejemplo: (2018->Enero, 2018->Marzo, 2018->Julio …)
  • Una función que define una lista de miembros de la misma dimensión. En este supuesto esta función aplica el orden de los miembros en el Outline.
    • Por ejemplo: @RELATIVE(Mercados,0)

Veamos algunos ejemplos: Partiendo del siguiente Outline:

  • @RANGEFIRSTVAL(SKIPNONE,@RELATIVE(Meses,0)) = 0
  • @RANGEFIRSTVAL(SKIPMISSING,@RELATIVE(Meses,0)) = 0
  • @RANGEFIRSTVAL(SKIPZERO,@RELATIVE(Meses,0)) = 50
  • @RANGEFIRSTVAL(SKIPBOTH,@RELATIVE(Meses,0)) = 50
  • @RANGELASTVAL(SKIPNONE,@RELATIVE(Meses,0)) = #missing
  • @RANGELASTVAL(SKIPMISSING,@RELATIVE(Meses,0)) = 45
  • @RANGELASTVAL(SKIPZERO,@RELATIVE(Meses,0)) = #missing
  • @RANGELASTVAL(SKIPBOTH,@RELATIVE(Meses,0)) = 45

Esta función la podemos utilizar dentro de un cálculo. Por ejemplo: