Agregaciones anidadas

Puede que nos encontremos con situaciones en las que necesitemos aplicar una agregación al resultado de otra agregación. Esto se conoce con el nombre de agregaciones anidadas.

Por regla general, no se permite anidar agregaciones en una expresión de gráfico en QlikView. La anidación sólo se permite bajo estas condiciones:

  • Si utilizamos el cualificador TOTAL en la función de agregación interna.
Nota: No se permiten más de 100 niveles de anidación.

Agregaciones anidadas con el cualificador TOTAL

Ejemplo:  

Digamos, por ejemplo, que se desea calcular la suma del campo Sales, pero incluyendo únicamente las transacciones con una OrderDate igual a la del año anterior. El año anterior se puede obtener mediante la función de agregación Max(TOTAL Year(OrderDate)).

La agregación siguiente arrojaría el resultado deseado:

Sum(If(Year(OrderDate)=Max(TOTAL Year(OrderDate)), Sales))

La inclusión del cualificador TOTAL es absolutamente necesaria para que se acepte este tipo de anidación en QlikView y también es necesaria para realizar la comparación deseada. Este tipo de necesidad de anidamiento es bastante común y debería emplearse siempre que sea posible.