jueves, 21 de febrero de 2019

Power Pivot: Columnas Calculadas y Medidas.

Propondré hoy un ejercicio para mostrar cómo crear en el entorno de Power Pivot dos herramientas fundamentales:
- columnas calculadas
- medidas
.

Supondremos dos tablas en nuestras hojas de cálculo: 'TblVentas' y 'TblPrecios':

Power Pivot: Columnas Calculadas y Medidas.



Desde la ficha Power Pivot > grupo Tablas > botón Agregar tabla al Modelo de datos para ambas tablas.

Power Pivot: Columnas Calculadas y Medidas.



Ya dentro del editor de Power Pivot gestionaremos la relación entre tablas ('one-to-many') desde el campo 'Item' de la 'TblPrecios' al campo' Producto' de la 'TblVentas'.
Lo haremos desde la Ficha Inicio > grupo Ver > botón Vista diagrama y arrastrando de un campo al otro:

Power Pivot: Columnas Calculadas y Medidas.



Con la relación creado podemos volver a la Vista de datos (Ficha Inicio > grupo Ver > botón Vista de datos)

Al tener un tipo de relación 'one-to-many' podemos hacer uso de la función RELATED (leer algo más aquí).
Creando una columna calculada en la 'TblVentas' para recuperar el precio de cada producto...
PrecioR:= =RELATED(tblPrecios[Precio Unitario])

Power Pivot: Columnas Calculadas y Medidas.



Crearemos ahora otras columnas calculadas para obtener el producto de 'Unidades' por 'Precio' en cada fila de las 'TblVentas'.
Una primera columna tendría la fórmula:
Parcial1: =TblVentas[Unidades]*TblVentas[PreciosR]

y una segunda podría ser, directamente sin necesidad de recuperar la columna de 'Precio'
Parcial2: =TblVentas[Unidades]*RELATED(tblPrecios[Precio Unitario])

Power Pivot: Columnas Calculadas y Medidas.



Si generamos una tabla dinámica desde nuestro Modelo de datos:
Ficha Inicio > desplegable tabla dinámicas > Tabla dinámica
y construimos la tabla dinámica simple de la imagen, se comprueba como el el resultado es el mismo para ambas columnas calculadas.

Power Pivot: Columnas Calculadas y Medidas.



Una alternativa para conseguir este resultado diferenciado en la tabla dinámica sería crear una medida.
Para ello iremos al área de cálculo y definiremos alguna de las siguientes medidas:
Suma1:=SUM(TblVentas[Parcial2])
o
Suma2:=SUMX(TblVentas;TblVentas[Unidades]*RELATED(tblPrecios[Precio Unitario]))

La primera de ellas necesitaría la existencia de la columna calculada (que ya habíamos creado anteriormente):
Parcial2: =TblVentas[Unidades]*RELATED(tblPrecios[Precio Unitario])

mientras que la segunda es más simple ya que directamente podemos crearla como medida...

Otra medida algo más retorcida:
Suma3:=CALCULATE(SUM(TblVentas[Parcial2]); ALL(TblVentas[Parcial2]))
para llegar al mismo resultado.

Power Pivot: Columnas Calculadas y Medidas.



Otro ejemplo de Medida sin necesidad de columnas calculadas sería la siguiente:
MediaPrecio:=AVERAGEX(TblVentas;RELATED(tblPrecios[Precio Unitario]))
con la que obtendremos la media de precios según el detalle configurado en la tabla dinámica.

Power Pivot: Columnas Calculadas y Medidas.


Si trasladamos estas columnas calculadas y medidas a la tabla dinámica veremos que no ha diferencias...

Power Pivot: Columnas Calculadas y Medidas.



Se observa como en todos los casos, puedes probar, los cálculos se adaptan a la configuración y diseño que demos a nuestra tabla dinámica...

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.