SET AGGMISSG

Esta instrucción especifica si en los cálculos de agregación se van a tener en cuenta los miembros sin datos (missing). Esta instrucción afecta a la agregación de dimensiones dispersas y admite 2 valores ON / OFF:

SET AGGMISSG ON: en la agregación se tienen en cuenta los miembros con datos y sin datos, de tal manera que cada miembro de nivel superior lo calcula como suma de sus miembros de nivel 0, tengan valores o no.

SET AGGMISSG OFF: en la agregación no se tienen en cuenta los miembros sin datos sino únicamente aquellos que tengan datos. Si se carga un dato a un miembro de nivel superior y sus niveles inferiores no tienen dato, en la agregación el cálculo ignora sus niveles inferiores y mantiene el dato cargado en el nivel superior.

Esta última opción SET AGGMISSG OFF es muy interesante si hay alguna información que no se dispone de niveles inferiores pero sí de niveles superiores ya que mantiene este dato, pero hay que utilizarla con mucha cautela:

Si se graban datos de niveles 0 y se agrega, si posteriormente se borran los datos de los niveles inferiores el nivel superior mantiene el dato de la agregación anterior.

Este peligro se evita si en cada carga se borra previamente toda la base pero hay veces que no se opera de esta manera sino que se graban valores nuevos sin borrar los ya existentes, surgiendo aquí el problema mencionado.

Veamos un ejemplo:

Partimos de la siguiente posición y queremos calcular el nivel superior:

El resultado es el mismo aplicando tanto SET AGGMISSG ON como SET AGGMISSG OFF:

Pero si la situación de partida es la siguiente (tan sólo tenemos el dato del nivel superior):

El resultado sería distinto al agregar con SET AGGMISSG ON:

Que con SET AGGMISSG OFF:

También el riesgo que comentábamos anteriormente es si tras la primera agregación:

Borramos los niveles 0, si volvemos a agregar con SET AGGMISSG ON el resultado sería:

Mientras que con SET AGGMISSG OFF obtendríamos el siguiente resultado: