Un visualizador divertido

Nuestras presentaciones de BI pueden tener muchos aspectos: pueden ser muy serias y también podemos darles un aspecto divertido con el visualizador adecuado.

Por ejemplo unos peces de distintos tamaños que se mueven por la pantalla

En la galería de visuales de Power BI hay un Enlighten Aquarium que podemos descargar y agregar en nuestro panel como explico en Añadir visualizaciones.

Yo aquí he usado los datos de la plantilla A3ERP Ventas totales detallada base que puede descargar

Una vez importado el acuario se muestra en la galería de visuales como un pez de colores :

Así que manos a la obra, primero creamos las medidas

EUR = SUM(Ventas[Neto])

EUR Año anterior = CALCULATE([EUR];SAMEPERIODLASTYEAR(Calendario[Date]))

Añadimos el visualizador a una página en blanco con

Y se nos muestra un gráfico divertido: los peces se mueven y según el tamaño indican el volumen de ventas

Podemos añadir un segmentador de años, para que se aplique correctamente el EUR año anterior

Y al filtrar los peces cambian de tamaño según el importe.

En la parte de formato del visual vemos que solo admite dos series, y que una puede ser tiburones ¡!!

Quedando

No sé si será muy útil, pero vistoso y divertido sí que es ¡!!

La infografía en tus presentaciones de BI

En la galería de visuales de Power BI, hay uno muy interesante que permite dar más vistosidad a nuestros gráficos y mostrarlos en modo de infografía, como estamos acostumbrados a ver en muchos periódicos y medios.

Descargar e importar el visual

Tenemos que acceder a la página de Power BI visual, buscar el Inforgraphic Designer y haciendo clic lo podemos descargar y también un ejemplo que nos permitirá conocerlo

Una vez descargado abrimos nuestro Power BI, en este caso parto de la plantilla A3ERP Ventas totales detallada base que puede descargar

Y una vez abierta, en visualizadores pulsamos en los… para importar el archivo

Gráfico de columnas con infografía

Empecemos creando un gráfico de columnas apiladas con

Ahora cambiamos el visualizador al nuevo modelo que hemos importado

Aparentemente no cambia nada. Pero en la parte superior derecha del grafico tenemos un icono de un lápiz

Al pulsarlo se nos muestra el cuadro de diseño, donde podemos cambiar muchas opciones de configuración

Pulsamos en Shape, Trasnportation y escogemos la bicicleta

Activamos el múltiple units

Y el Units per row lo ponemos a custom y ponemos 2

Cerramos el cuadro y el grafico ha mejorado notablemente

Gráfico de barras con infografía

Creamos una nueva página y ponemos el visual Infographic Designer

Con

Usamos el lápiz para personalizar

Y al cerrar obtenemos un gráfico muy vistoso

Que además nos permite comprara fácilmente las ventas de un representante con otro por familias de productos.

Es interesante comprobar que este grafico es distinto del de barras agrupadas que podemos crear por defecto

Os sugiero que exploréis las distintas opciones del lápiz de edición pues da muchas posibilidades

Calendario instantáneo para tu Power BI

Sabemos que para usar las funciones de inteligencia de tiempo necesitamos un calendario continuo.

Y para crearlos hay varios métodos que ya he expuesto en este blog

Calendario rápido para tu Power Bi

Plantilla calendario

Ahora traigo uno más y más sencillo, basta un copiar y pegar y algunas opciones de formato.

Crear el calendario

Hemos de tener una tabla de datos en nuestro Power BI que tiene un campo fecha

Vamos a Modelado, Nueva tabla

Y copiamos este texto:

Calendario = ADDCOLUMNS (CALENDARAUTO(); “Año”; YEAR ( [Date] ); “Mes Nr”; FORMAT ( [Date]; “M” ); “Mes”; FORMAT ( [Date]; “mmmm” ); “Dia Semana Nr”; WEEKDAY ( [Date] ); “Dia semana”; FORMAT ( [Date]; “dddd” ); “Trimestre”; “T” & FORMAT ( [Date]; “Q” ) )

Y lo pegamos:

Automáticamente se crea el calendario

Formateo de columnas

Al que basta dar algunas opciones de formato

La columna date, le ponemos tipo de datos: fecha y formato fecha dd/mm/yyyy

La columna Mes la ordenados por Mes Nr.

La columna día semana la ordenamos por Día semana Nr

Y relacionamos el campo Fecha de nuestra tabla de datos con el campo Date del calendario

Creándose una relación uno a varios.

Calendario con intervalo concreto de fechas

Si queremos un intervalo concreto de fechas, en lugar de usar

CALENDARAUTO()

Ponemos CALENDAR y el intervalo de fechas que nos interese

CALENDAR (DATE(2015;1;1); DATE(2018;12;31))

Mostrar elementos sin datos

No nos compliquemos, más fácil imposible.

A veces nos puede interesar mostrar en una tabla o grafico aquellos elementos que no tienen datos, no tienen valores asociados.

Tenemos una tabla con artículos relacionada con una tabla de facturas ventas líneas

Si creamos una tabla con artículos e importes

Tendremos todos aquellos artículos que tienen valor en importe, en las líneas

Si queremos mostrar todos los artículos, aunque no tengan valor, basta ir al campo Artículo y con el botón de la derecha seleccionar: Mostrar elementos sin datos

Y ya está,

En la tabla se muestran todos los artículos aunque no tengan importes.

RECUERDE: botón de la derecha, mostrar elementos sin datos

Seleccionar una medida con un segmentador

La idea es poder crear un informe donde el usuario pueda escoger la medida a visualizar.

Lo iremos viendo paso a paso pero al final obtendremos algo así: un panel donde el usuario selecciona la medida que quiere visualizar.

O si el usuario no ha seleccionado nada: un mensaje de aviso

He obtenido ideas de Dynamically change the information within a visual via a slicer y el video Change measures using slicers in Power BI – Power BI Tips & Tricks y las he adaptado a mi informe base y el ejemplo que quiero mostrar.

Partimos de la plantilla A3ERP Ventas totales detallada base que puede descargar

Las medidas

La plantilla ya lleva la medida para las ventas, llamada EUR, pero debemos crear dos medidas más

Coste = SUMX(Ventas;Ventas[Precio Coste]*Ventas[Unidades])

Beneficio = [EUR]-[Coste]

A ambas le ponemos formato con separador de miles y cero decimales.

Con estas tres medidas podemos hacer rápidamente una tabla con los datos

Y tres gráficos

Uno para ventas

Otro para costes

Y un último para beneficios

Y si queremos podemos crear un gráfico que muestre las tres cosas juntas con una visualización de columnas agrupadas

Que nos mostraría los tres valores en un mismo grafico

Pero quiero ir más allá, y descubrir nuevas técnicas y funciones

La tabla de medidas

Debemos empezar creando una tabla de medidas con Especificar datos que podemos llenar con

Y antes de aceptar al pie le ponemos nombre a la tabla: Medidas

No olvidemos activar la ordenación por índice en la columna medida

Esto nos ha creado una tabla, que NO tiene que estar relacionada con ninguna otra, cosa que comprobamos en el editor de relaciones

La función SWITCH

Ahora usaremos la función SWITCH para elegir la medida que debe mostrarse según la selección

Creamos una nueva medida y ponemos

Medida a Mostrar = SWITCH(TRUE();

VALUES(Medidas[Medida])=”Ventas”;[EUR];

VALUES(Medidas[Medida])=”Coste”;[Coste];

VALUES(Medidas[Medida])=”Beneficio”;[Beneficio];

BLANK()

)

La función SWITH devuelve resultados diferentes en función del valor de una expresión

El primer parámetro es la expresión a evaluar, en nuestro caso ponemos TRUE(), siempre se cumple

A partir de ahí empezamos a poner parejas de valores y resultados

Esto lo podemos interpretar como

SWITCH verdadero, o sea la primea condición siempre se cumple

Si la medida es Ventas, muestra la medida EUR

Si la medida es Coste, muestra la medida Coste

Si la medida es Beneficio, muestra la medida Beneficio

En otro caso no muestres nada: BLANK()

Observe como usamos la función VALUES para saber el valor que ha sido seleccionado en la tabla medidas

El Segmentador

Creamos un segmentador con el campo Medida de la tabla medidas.

Le podemos dar formato horizontal, y ampliar la fuente y poner un color de fondo para hacerlo más agradable

El grafico vinculado a la medida

Creamos un grafico de columnas con

Y si seleccionamos una medida se nos muestra su valor

Si no hemos seleccionado nada nos da un error

La función SWITCH mejorada

Vamos a solucionar esto añadiendo algo en el SWITCH

Medida a Mostrar sin nada = IF(ISCROSSFILTERED(Medidas[Medida]);

SWITCH(TRUE();

VALUES(Medidas[Medida])=”Ventas”;[EUR];

VALUES(Medidas[Medida])=”Coste”;[Coste];

VALUES(Medidas[Medida])=”Beneficio”;[Beneficio];

BLANK()

);BLANK())

Lo interpretamos como SI, la tabla medidas tiene un filtro activo, aplica todo los del SWHITCH, en caso contrario devuelve BLANCK

Ahora si en el grafico cambiamos y ponemos la nueva medida

Y no hay nada seleccionado, no se muestra nada

El mensaje de información

El último paso será crear algo para informar al usuario que tiene que seleccionar algo, y si lo ha seleccionado mostrarle lo que esta visualizando

Creamos una nueva medida con

Titulo = IF(ISCROSSFILTERED(Medidas[Medida]);VALUES(Medidas[Medida]) & ” por Familia”;”Seleccione una opción en el filtro para mostrar el grafico”)

Lo que interpretamos como:

Si se ha filtrado medidas, escribe la medida filtrada más el texto por Familia

En caso contrario escribe: Seleccione una opción en el filtro para mostrar el grafico

Y lo añadimos a nuestra presentación con una Tarjeta

Resultado

Si no hay nada seleccionado el grafico sale en blanco y se nos avisa que debemos seleccionar

Si hay algo seleccionado se visualiza en el gráfico y se muestra como titulo

Seleccionar medidas por segmentador puede ser útil para incluir más información en una sola pantalla, dando opción al usuario a mostrar lo que necesite ver.

Nuevo modelo de matriz en versión marzo 2017

Con la actualización de marzo de 2017 han añadido a Power BI un nuevo modelo de visualizador matriz, muy mejorado y mucho más potente.

Activar el visualizador

Como es una versión preliminar primero debemos activarlo yendo a

Archivo, Opciones, Opciones y configuración, Opciones

Y en la pantalla de opciones, ir a Características de versión preliminar y activar el nuevo objeto visual matriz

Probando la nueva matriz

Vamos a probarlo con un ejemplo con la plantilla A3ERP Ventas totales detallada base que puede descargar

Añadimos el nuevo objeto visual Vista previa de la matriz y le ponemos

A simple vista, algo ha cambiado, esto nos faltan datos: las familias y los artículos

Cambiemos un poco el formato para hacerlo más legible y continuar explorando

He puesto estilo de la matriz, filas alternas con contraste

Tamaño del texto a 12, que está en el apartado cuadricula

Ha quedado más legible

NOTA: no hay fila de totales, no he encontrado forma de activarla. Esperemos que sea solo en la versión preliminar.

Explorando información con la nueva matriz

Vemos que en la parte superior aparecen unos iconos que hasta ahora no tenían las matrices, aunque si algunos gráficos

Usemos el de expandir todo un nivel en la jerarquía

Aparecen las familias

Y si lo pulsamos otra vez, aparecen los artículos

Podemos usar el icono de la flecha en la parte superior para volver a la vista original.

Ahora usemos el icono de Ir al siguiente nivel en la jerarquía

Vemos las ventas detalladas por familia

Y pulsando otra vez,, el resumen por artículos

Regresemos al primer nivel y activemos el modo detallado

Hacemos clic en un cliente, y se ven sus ventas y las de sus familias

Y si pulsamos en una familia, se detallan sus artículos

Verificando los datos

Una de las cosas que más me gustaba de las tablas dinámicas de Excel, es que si tenías un valor resumido y haces doble clic, te abría un ahoja nueva con el detalle de los elementos que componían ese resumen: esto es vital para verificar de donde viene la información.

Ahora podemos hacer algo similar.

Añadamos una tabla en nuestro informe con

Así tenemos una lista de todas las facturas

Si en nuestra matriz, hacemos clic en una cifra

Automáticamente la tabla muestra la información que la compone

De este modo el seleccionar una celda, funciona como un filtro en el resto de visualizadores de la página

Si bajamos a nivel de artículos, y seleccionamos un artículo

En la tabla de facturas se muestran solo las ventas de ese artículo

Y si seleccionamos juna columna. En este caso un año

Se ven solo las facturas de ese año

Tabla de verificación

Esto nos permite crear una tabla, y minimizarla en la parte inferior del informe para poder consultar los datos

Le he puesto un título, centrado, tamaño 18, en color negro

Y la he minimizado en la parte inferior del informe

Así, si filtramos algo

y hay duda sobre los datos lo podemos ver maximizando

Filtrando los gráficos

Y por supuesto este modo de trabajar como filtro también se aplica a los gráficos que pongamos en la página

Creemos la medida para las ventas acumuladas del año

EUR YTD = TOTALYTD([EUR];Calendario[Date])

Y le damos formato, con separador de miles y sin decimales

Añadimos un gráfico de líneas con

Y una tarjeta de varias filas con

Ha quedado un informe así:

Activamos el modo detallado y expandimos todos los niveles, para ver la tabla completa con todos sus niveles jerárquicos

MUY IMPORTANTE: desactivamos el modo detallado

Ahora ya podemos seleccionar un cliente

Y el grafico y la tarjeta muestran su información

O una familia en un cliente

O un artículo en una familia del cliente

O una celda concreta

El grafico y la tarjeta siempre se adaptan a lo que hemos seleccionado.

Considero esto un gran avance en las tablas o matrices de datos: aparte de mostrar información también permiten filtrarla

La matriz en modo clásico

Si queremos volver al modo clásico de la matriz, debemos ir a Formato, Encabezados de fila y Desactivar el diseño escalonado

Tenemos la matriz clásica, que por supuesto ocupa mucho más espacio

Conclusión: hay que estar al tanto de las actualizaciones de cada mes

Grupos, segmentos, intervalos

O como he leído en la web grouping, binning o banding.

La idea es analizar nuestra información, creando segmentos de datos, para responder a preguntas del tipo:

¿Cuantos clientes compran hasta 200.000, o 300.000, o 400.000, etc.?

¿Cuantos artículos venden 1000 unidades o 2000, etc.?

Partimos de la plantilla A3ERP Ventas totales detallada base que puede descargar

Segmentación de clientes por importes

Creamos una nueva tabla con

Y la formula

Clientes = SUMMARIZE(Ventas;Ventas[Cliente];”Total ventas”;[EUR])

Esto nos da una tabla con las ventas por cliente

En la columna Total ventas, con el botón de la derecha escogemos Nuevo grupo

Y aquí debemos definir el intervalo que nos interesa, en mi caso pongo 100000 en tamaño de la discretización y acepto

Y aparece una nueva columna que nos indica a que segmento pertenece cada cliente

Ahora podemos crear un gráfico de columnas con

Los bins en el eje, y los clientes en valores, pero le ponemos Recuento. Esto nos da un gráfico con

Vemos que solo hay un cliente que compra hasta 100000 y 5 que compran entre 100000 y 200000, y así sucesivamente.

Segmentación por artículos y unidades

Para ver como se reparten las ventas de los artículos por segmentos de unidades, creamos una nueva tabla con

Artículos = SUMMARIZE(Ventas;Ventas[Artículo];”Unidades x articulo”;sum(Ventas[Unidades]))

Lo que nos da el total de unidades vendidas por cada artículo

En la columna unidades por artículo, pulsamos con el botón de la derecha y discretizamos por 1000

Al aceptar tenemos una nueva columna con el segmento al que pertenece cada artículo

Y si lo mostramos en un gráfico de columnas

Podemos ver cuantos artículos hay en cada segmento

Más información en la documentación de Power BI o en mi artículo sobre Segmentación dinámica con DAX 1

Visualizar jerarquías de datos de modo legible

En Power Bi hay varias maneras de ver los datos en forma jerarquía, voy a explicar aquí los distintos modos y un truco para ver bien legibles los nombres de las categorías

Partimos de la A3ERP Ventas totales detalladas base que puede descargar

Que tiene informaciones las ventas por Familia y Artículo.

Agrupar datos

Nos interesara además crear unas Superfamilia, para agrupar varias familias dentro de un mismo título.

Creamos un gráfico de columnas agrupadas con

Lo que nos da las ventas por cada familia

Ahora seleccionamos las dos columnas de Bicicletas: bicicletas de paseo y bicicletas de carreras, y con el botón de la derecha creamos un grupo

Automáticamente en la lista de campos aparece un nuevo campo el

Lo seleccionamos y con el botón de la derecha pulsamos Editar grupos, y obtenemos el cuadro de dialogo de edición de grupos

Vemos como automáticamente todas las familias que no hemos seleccionados están en el grupo: Otros

Podemos cambiar el nombre del grupo a Superfamilia

Y el nombre del grupo y miembros a Bicicletas

Explorar jerarquía

Aceptamos y modificamos el visual poniendo

Lo que nos da un gráfico por Superfamilia

Para explorar la jerarquía tenemos varias opciones

Expandir todo un nivel en la jerarquía, pulsando en

Con lo que llegaremos a ver las familias y los artículos

Activar el explorar en profundidad

Con lo que si hacemos clic en una barra nos muestra solo los datos que la componen

Visualizar el texto de modo legible

El problema de expandir niveles en la jerarquía es que los nombres de los campos de eje se van encadenando, llegando un momento que no podemos leer bien

El truco está en ir al visualizador, formato, eje X y desactivar el Concatenar

Con lo cual los títulos se ponen de un modo muy legible

Power BI tiene muchos recursos…y algunos están bien escondidos 😉

Anular dinamización de columnas

Las tablas dinámicas son un gran invento.

Cuando mis alumnos me preguntan para que sirven las tablas dinámicas, les contesto: para resumir en forma de tabla los datos que tenemos en forma de lista.

Pero resulta que Power BI trabaja mucho mejor con datos en forma de lista, pues tiene grandes herramientas para dinamizar.

Que hacemos pues si tenemos los datos en forma de tabla: donde hay columnas que nos interesa que se conviertan en filas: usamos el editor de columnas y su función Anular dinamización de columnas.

Vamos a verlo con un ejemplo de datos que obtenemos de la tabla de habitantes por comarcas y años

Obtener datos web

Abrimos el Power BI desktop, vamos a obtener datos e indicamos web y pegamos la url de la página que tiene la información

http://www.idescat.cat/pub/?id=aec&n=246

Al aceptar vemos las tablas que hay en la página, en este caso solo una, que seleccionamos y pulsamos editar

Con lo que se cargan los datos de la página y estamos en el editor de consultas

Convertir formatos y solucionar errores

Como vemos los datos tienen un formato de texto y además están los años en columnas.

Seleccionamos las columnas que están en formato texto y les cambiamos a número decimal

La duda, es porque hay algunas columnas con formato texto y otras (años 2015 y 16) en formato numérico.

Es debido a que hay una fila sin valores, y al convertirla nos ha dado un error

Vamos a corregir el error, pues no nos interesa este valor en nuestros datos: preferimos un 0

Seleccionamos la columna, y vamos a Transformar, Reemplazar los valores, Reemplazar errores

E indicamos 0 como valor para el caso de error

Haremos lo mismo para el año 2013 y 2014: ya tenemos una tabla con valore numéricos.

Por cierto, la primera columna no tiene nombre

Quizás que le pongamos uno: comarca

Anular dinamización de columnas

Ahora viene la parte buena: convertir las columnas de los años en filas

Seleccionamos la columna comarcas y pulsamos en Transformar, desplegamos en Anular dinamización de columnas y pulamos en anular dinamización de otras columnas.

Automáticamente todos los años han pasado a filas

Cambiamos los títulos por

Vamos a Archivo, cerrar y aplicar y ya tenemos nuestros datos listos en el Power BI.

Construir matriz

Podemos usar cualquier visual para ver los datos, pero vamos a construir una matriz con

Y ya tenemos nuestros datos de nuevo en forma de tabla

Si, sí, me diréis que para esto no hacía falta tanto trabajo…pero es un ejercicio para ver cómo funcionan herramientas del editor de consultas.

Funciones de fecha en el editor de consultas

El editor de consultas de Power BI es una potente herramienta para procesar nuestros datos antes de gestionarlos o presentarlos en los informes de Power BI.

Una de las facilidades que tiene son las transformaciones que se pueden aplicar a las columnas de datos de modo muy automático.

En este ejemplo vamos a ver las funciones de fecha.

He partido de una tabla que tiene los vencimientos y fechas de cobro real de las facturas

Antigüedad

Nos interesa saber la antigüedad del vencimiento: o sea, si no está pagado con cuantos días de retraso va el cliente

Seleccionamos la columna vencimiento y en agregar columna, desplegamos sobre fecha y aplicamos antigüedad

La nueva columna tiene una cifra, aunque el formato no parece muy correcto

Basta aplicar formato número entero y ya vemos cuantos días hace desde la fecha de vencimiento.

O sea, hemos calculado la diferencia entre HOY – VENCIMIENTO

Esto es dinámico, al abrir el Power Bi y actualizar los datos la columna se recalcula.

Diferencia de fechas

Ahora queremos saber la diferencia de días entre el vencimiento y la fecha efectiva de cobro.

Para ello seleccionamos las dos columnas: vencimiento y fecha cobro.

Y en agregar columna, desplegamos en fechas y pulsamos en Restar días

Nos aparece una nueva columna con la diferencia de días, vamos a filtrar y quitar los que los días sean 0

Y obtenemos la diferencia a de días

Como podemos observar las cifras son negativas: ha restado del vencimiento la fecha de cobro

Basta situarse en el paso Resta de fecha insertada

Y cambiar la formula en la parte superior en la barra de fórmulas

Ahora las cifras tienen más sentido

Si son positivas son los días que se retraso en el pago

Si son negativas, es los días que se anticipó en el pago.

Así pues el editor de consultas es una buena herramienta para preparar los datos.

A %d blogueros les gusta esto: