Establecer el orden de operaciones para los cálculos de modelos

En algunos casos, normalmente para los cálculos relacionados con coeficientes, resulta útil realizar la agregación en los términos del cálculo antes de la operación matemática.

Por ejemplo, el hecho Order details contiene información sobre cada pedido:

Los elementos de consulta contenidos en el hecho Order details.

Margin es un cálculo que determina la tasa de beneficio:

Margin = (Revenue - Product cost) / Revenue

Si se ejecuta una consulta para mostrar los valores de Revenue, Product cost y Margin de cada producto utilizando el hecho Order details, se obtiene el siguiente resultado:

Product number Revenue Product cost Margin
1 $23,057,141 $11,292,005 61038%
2 $11,333,518 $6,607,904 49606%

Observe que el valor de Margin parece ser incorrecto. Esto se debe al orden de las operaciones que se utiliza para calcular Margin. Margin se calcula de la siguiente manera:

Margin = sum( (Revenue - Product cost) / Revenue )

La agregación se realizó tras la operación matemática y, en este caso, genera resultados no deseados.

Para obtener los valores deseados de Margin, necesitamos realizar la agregación antes de la operación matemática:

Margin = ( sum(Revenue) - sum(Product cost) ) / sum(Revenue)

Esto genera el siguiente resultado:

Product number Revenue Product cost Margin
1 $23,057.141 $11,292,005 51.03%
2 $11,333,518 $6,607,904 41.70%

Puede conseguir esto en IBM® Cognos Framework Manager si crea un cálculo independiente para Margin, y establece la propiedad Agregado regular en Calculado. Cada elemento de consulta de la expresión del cálculo se agrega tal y como se especifica en la propiedad Agregado regular correspondiente. Las propiedades de Agregado regular de Ingresos y Coste de producto se establecen en Suma y, por lo tanto, al realizar el cálculo, la suma se utiliza para agregar dichos términos.

Nota: El tipo de agregación calculada no se soporta para cálculos que están incorporados en asuntos de consulta. Sólo se soporta para cálculos independientes y cálculos incorporados en dimensiones de medida y basados en medidas de la misma dimensión de medidas.

Por ejemplo, supongamos que utilizamos el cálculo Margin incorporado en la dimensión Sales measure:

El cálculo Margin mostrado como (Sales.Revenue - Sales.Product cost) / Sales.Revenue.

En este ejemplo, Margin se basa en las medidas Product cost y Revenue que se encuentran en la misma dimensión de medida, Sales. Si la propiedad Agregado regular de Margin está establecida en Calculado, se acumula del siguiente modo:

Margin = sum(Revenue - Product cost ) / sum(Revenue)

Si Margin se basa en los elementos de la consulta de origen de las medidas Product cost y Revenue (Sales (model).Product cost, Sales (model).Revenue), la agregación calculada no se soporta y se comporta como si fuera automática. En este caso, Margin se acumula del siguiente modo:

Margin = sum( Revenue - Product cost) / Revenue)

Para obtener más información sobre cómo modificar el modo de agregación de elementos de consulta, consulte la publicación IBM Cognos Framework Manager Guía del usuario.