En post anteriores empezamos explicando la evaluación del contexto en PowerPivot. Recuperemos los datos que teníamos anteriormente
Queremos ver el monto de ventas en la siguiente PivotTable
Para lo cual tendríamos dos opciones:
- Crear una columna calculada en nuestra tabla de PowerPivot
- Crear una nueva medida
Si creamos una nueva medida…
Esto es debido a que no puede identificar el valor de Precio en el contexto actual. Ahora mismo el contexto sería un contexto de filtro y nosotros queremos aplicar realmente un filtro de fila. Debemos de utilizar las funciones agregadas (SUM,MAX,MIN,AVG…)
Mmm… tampoco podemos hacerlo así, ya que esta esperando la referencia de una columna en concreto. ¿Como lo podemos hacer? Existen las funciones de agregación terminadas en X (SUMX, MAXX, MINX,AVGX …) que iteran sobre la tabla pasada por parámetro (en este caso la tabla se llama Compra) y que ejecutan la sentencia establecida en el segundo parámetro. Así tendríamos
Y el resultado en la PivotTable
Para entender mejor lo que ha sucedido:
- El Filter Context es definido por las celdas Color <Negro,Rojo>
- El valor que se necesita es la multiplicación de Cantidad * Precio, definido por SUMX(Compra, Compra[Precio]*Compra[Cantidad])
- La función SUMX itera sobre todas las filas que estan activas sobre el Filter Context. Solo se iteran por las siguientes filas
- Para cada una de esas filas se itera realizando el calculo
- El resultado se suma por color y talla utilizan un sum (ya que es un valor agregado)
Además de SUMX tenemos AVERAGEX,COUNTAX,COUNTX,MAXX,MINX y SUMX
Fuente:
1. Funciones Estadisticas
2. Funcion SUMX (DAX)
Saludos
Indice de contenidos
I. Evaluando
el contexto en PowerPivot
II. SUMX.
Operaciones de Agregacion dependientes del contexto
III. Funcion
ALL, FILTER, CALCULATE
IV. Calculate a fondo
V. EARLIER