Porcentajes en columnas en una matriz de datos

Esta entrada ha quedado obsoleta con la mejora de Febrero 2017 que comento en Porcentaje de las filas o columnas

Quiero precisar que en su actual estado PowerBi no es una buena herramienta para calcular porcentajes de los datos.

Como mínimo no es tan fácil como en Excel tablas dinámicas, que tiene un montón de opciones con un solo clic.

Pero quería resolver el tema de tener una matriz con filas y columnas, y poder obtener el % de cada columna respecto a su total general.

Partimos de nuestro PowerBi Calendario que tiene datos de una tabla ventas

Creamos una matriz donde ponemos

Obteniendo una visualización con las ventas para cada familia y año

Lo que queremos es ahora añadir el % de cada familia sobre su total

Si añadimos otra vez el importe en valores, y con el botón de la derecha le asignamos % sobre el total general, tendremos

Lo que nos dice él % de cada familia y año sobre el gran total. No es lo que buscamos

Queremos el % de cada familia sobre el total de ese año. Y ahí radica el problema, debemos obtener previamente el total del año.

Para ello crearemos una nueva tabla con la función SUMARIZE, vamos a Datos, Nueva tabla y escribimos

Años = SUMMARIZE(Calendario; Calendario[Año])

Y una nueva columna con

Ventas Año = sumx(RELATEDTABLE(Ventas);[Importe])

Obtenemos así una tabla con las ventas totales de cada año

Ahora en la tabla ventas, añadimos una nueva medida con

Importe Año = SUMX(RELATEDTABLE(‘Años’);’Años'[Ventas Año])

Y para calcular el % de cada fila sobre el total de su año, añadimos una nueva medida con

% Año = [Importe]/[Importe Año]

A la que damos formato %

Si añadimos estas dos medidas en nuestro matiz de datos

Obtenemos una matriz donde para cada año vemos el % del total del año

Por supuesto el Importe año, no hace falta ponerlo, solo está a efectos de comprobación

Lamentablemente esto no es sensible a los filtros, si ponemos algún segmentador, no se tiene en cuenta, sigue apareciendo siempre el total del año, NO el total de la columna una vez filtrada por el segmentador.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.