@CREATEBLOCK

English (Español a continuación)

This function allows create blocks: it creates the block but without loading any value (leaving it #missing).

  • In Essbase if we try to upload a value to a member of a dense dimension in a block (intersection of members of sparse dimensions) that does not exist, the data is not loaded.
  • This function allows create that block and then load the value.

Its structure consists of a single parameter:

  • @CREATEBLOCK (“Part A”);

“Part A”: defines the block(s) that are going to be created. Can be:

  • A member of a sparse dimension: “2021”
  • A complex member of a sparse dimension: “2021” -> “January”
  • A list of members of a sparse dimension:
    • @LIST (“2019”, “2020”, “2021”)
  • A function that returns a list of members of a sparse dimension:
    • @DESCENDATS (“Years”)

This function must be used within a FIX to limit the blocks to be created.

Let’s see an example: We start from an Outline with the following dimensions:

And with the following structure:

Let’s assume that the base is empty: if we want to upload a value to a dense member of a block that does not exist, the value is not loaded:

For this we can use this function that allows us to create the block (s) we need. It must be done in two steps:

  • 1st create the block (s)
  • 2nd load the data (s).

The calculation would be as follows:

With the first FIX we create the block of the intersection of sparse members:

  • “2021” -> “January” -> “Sales”

Once this block is created, with the second FIX we load the value 100 for the intersection of the dense members:

  • “Colombia” -> “Cars”

It is important to note that it must be done in two steps: it cannot be done in a single FIX: the following calculation would not work:

Español

Esta función se utiliza para crear bloques: se limita a crear el bloque pero sin cargar ningún valor (dejándolo vacío).

  • Cuando en Essbase intentamos subir un valor a un miembro de una dimensión densa en un bloque (intersección de miembros de las dimensiones dispersas) que no existe, el dato no se sube.
  • Esta función nos permite crear ese bloque para a continuación subir el valor.

Su estructura consta de un único parámetro:

  • @CREATEBLOCK (“Parte A”);

“Parte A”: define el bloque(s) que se va(n) a crear. Puede ser:

  • Un miembro de una dimensión dispersa: “2021”
  • Un miembro complejo de una dimensión dispersa: “2021” -> “Enero”
  • Una lista de miembros de una dimensión dispersa:
    • @LIST(“2019”,“2020”, “2021”)
  • Una función que devuelve una lista de miembros de una dimensión dispersa:
    • @DESCENDATS(“Años”)

Esta función debe usarse dentro de un FIX para limitar los bloques que se van a crear.

Veamos un ejemplo: Partimos de un Outline con las siguientes dimensiones:

Y con la siguiente estructura:

Vamos a suponer que la base está vacía: si queremos subir un valor a un miembro denso de un bloque que no existe el valor no se sube:

Para ello podemos utilizar esta función que permite crear el (los) bloque(s) que necesitamos. Hay que hacerlo en dos pasos:

  • 1º crear el (los) bloque(s)
  • 2º cargar el (los) dato(s).

El cálculo quedaría de la siguiente manera:

Con el primer FIX creamos el bloque de la intersección de miembros dispersos:

  • “2021” -> “Enero” -> “Ventas”

Una vez creado este bloque, con el segundo FIX cargamos el valor 100 para la intersección de los miembros densos:

  • “Colombia” -> “Coches”

Es importante reseñar que hay que hacerlo en dos pasos: no se puede hacer en un único FIX: el siguiente cálculo no funcionaría: