share
[group]/[group,root]*100
partial share (segun la anidacion en filas)
[group]/[group, group.parent]*100
share de la primer columna
Valor(0)/[group.leaf(0),root]*100
Suma de las apariciones de un elemento dado de dimension "DIMENSION"
@Sum_i(Etiqueta([this.leaf(i)],"DIMENSION")=="PP"? [this.leaf(i) ]: 0)
Si deseamos totalizar los valores de la medida "Units Sold", cuando la vista presenta esta y otras medidas anidadas podemos utilizar la siguiente expresión.
Notar que en este caso el nombre de la dimensión correspondiente a las medidas se debe referenciar como "<measures>":
@Sum_i(Label([this.Etiqueta(i)],"<measures>")=="Units Sold" ? [this.leaf(i)]: 0)
Ejemplo:
En esta vista se tienen dos columnas calculadas: Unidades y Costo.
Donde Unidades se calcula como:
@Sum_i(Etiqueta([this.leaf(i)],"<measures>")=="Unidades" ? [this.leaf(i)]: 0)
Costo se calcula como:
@Sum_i(Etiqueta([this.leaf(i)],"<measures>")=="Costo" ? [this.leaf(i)]: 0)
En algunos casos no se requiere sumar las ocurrencias de un elemento, sino comprobar que se encuentre en la vista y en función de ello efectuar cierto cálculo:
Etiqueta([this.leaf(0)], "En plazo")=="SI" ? (["SI"]/[this])*100 : 0
En este ejemplo se controla la existencia del elemento "SI" en una dimensión de nombre "En plazo", calculando el % de este elemento con respecto al total.
Contar elementos cuando su valor es distinto a cero
Supongamos que tenemos una vista donde vemos los productos vendidos en los ultimos 3 años. Los productos estan en las filas y años como columnas. Queremos saber, cuántos productos se vendieron en cada año. La expresión predefinida "Cantidad" no sirve puesto que cuenta también aquellas productos que tuvieron 0 ventas en un año determinado. La siguiente fórmula resuelve el cálculo (como fila calculada):
@Sum_i([this.leaf(i)]==0?0:1)