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.

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.