Uso de Selected Value en Power BI para Análisis Dinámico
Resumen
¿Qué es la agregación Selected Value?
La función de agregación Selected Value juega un papel crucial en Power BI, devolviendo el valor propuesto siempre que sea único en una columna seleccionada. Esto significa que si la columna contiene más de un valor único, la función no podrá retornar un resultado concreto, manteniendo la célula en blanco por defecto. Su correcto uso nos proporciona herramientas para un análisis más preciso y orientado al contexto.
¿Cómo se implementa la función Selected Value?
Para entender mejor cómo trabajar con Selected Value en Power BI, es útil realizar un ejercicio práctico donde manejemos contextos y visualizaciones.
¿Por qué el contexto es importante?
El concepto de contexto es fundamental al manejar medidas en Power BI. Al aplicar Selected Value, es esencial que la medida esté dentro de un contexto específico para producir resultados válidos. Por ejemplo, si queremos ver un modelo de vehículo específico, debemos asegurarnos de que está seleccionado en el contexto adecuado.
Creación de un contexto específico en Power BI
Imaginemos que queremos permitir a los usuarios seleccionar qué dato analizar de un conjunto de métricas (ventas totales, margen bruto, y cantidad de clientes). Para lograrlo:
Crear una tabla de métricas: Comienza generando una tabla denominada "medidas dinámicas" que contenga una columna llamada "nombre de medida", ingresando valores como:
Total ventas
Margen bruto
Cantidad clientes
Configuración de valores seleccionados:
Implementa un filtro o segmentación de datos que permita a los usuarios elegir entre las métricas definidas.
Asegúrate de estilizar estas opciones para simular botones, contribuyendo a una interfaz más amigable.
Definición de medidas dinámicas:
Crea una medida llamada "selección indicador dinámico" basada en la función Selected Value, que analice la columna "nombre de medida".
La medida servirá como input para una medida más compleja que usará la función SWITCH, evaluando el input y seleccionando la métrica correspondiente para calcular.
Ejemplo de implementación en DAX
Para ilustrar la implementación de esta dinámica, se genera el siguiente código en DAX:
Una buena presentación de datos es fundamental para el análisis de negocios. Aquí se recomienda usar gráficos de líneas para evaluar cómo las métricas cambian a lo largo del tiempo.
Configurar el gráfico:
Asignar las fechas al eje X para visualizar la evolución temporal.
Asignar la medida dinámica creada, al eje Y.
Adicionales para claridad:
Modificar etiquetas y formatos de los ejes para mayor claridad.
Usar la función continua o categórica del eje, dependiendo de las necesidades de representación.
Con esta práctica, Selected Value no solo simplifica los análisis sino que también enriquece la interacción del usuario, ofreciendo una experiencia de análisis inteligente en Power BI.
hice una mejora a la presentada por el profe dusando una sola medida🤪.
<SelectValueMejorada=var _NombreMedida =SELECTEDVALUE('Tabla_Medidasdinámicas'[NombreMedida])returnSWITCH( _NombreMedida,"Total Ventas",[TotalVentas],"Margen Bruto",[MargenBruto2],"Cantidad Clientes",[Cantidad de Clientes_Fact_Ventas])// En una sola Medida con la ayuda de una variable!!!😀😀>
Inicio - Introducir datos - Introducir datos en la columna 1 (Cantidad Clientes, Margen Bruto, Total Ventas) - Cambiar nombre de la tabla a “Tabla_MedidaDinámica
Cambiar nombre de la “Columna1” a “NombreMedida”
Crear medida en la misma tabla que creamos en el paso 1:
(Esta última medida se usa con la visualización de “Gráfico de líneas”, en el Eje X se coloca el ‘Date: año y mes’ y en el Eje Y la Medida Dinámica que creamos anteriormente)
*Tener en cuenta que las medidas creadas en las clases anteriores pueden variar, ya que pueden tener diferente nombre.
Me pareció una clase muy valiosa, a veces necesitamos mostrar los resultados de distintas maneras y agregar un gráfico por cada una de ellas puede ser negativo, una buena solución es que el usuario final tenga la opción de elegir como desea verlos.
Aplicando este conocimiento a un proyecto personal con datos de casos reportados de covid-19, doy la opción al usuario si quiere ver cuenta de casos totales o casos por cada 100 mil habitantes. Algunas de las desventajas que noté es que se actualiza el orden de los datos del gráfico al cambiar de medida y en el caso de usar la función NEW PARAMETER no me permitía agregar formato condicional a las celdas, en este caso opté por utilzar bookmarks para lograr la interacción deseada. Para escoger cuando utilizar esta solución debemos estar atentos al tipo de visualización, si los tipos de datos de las medidas difieren, etc.
seguí todos los pasos y no me sale el grafico con medida dinámica.
SELECTEDVALUE: Devuelve el valor si el contexto de columnName se ha filtrado a un solo valor distinto. De lo contrario, devuelve alternateResult.
Inserto el campo marca_vehiculo en la visualizacion no me aparecen todas las marcas que estan en la tabla original, alguien sabe que hago mal?
Hola Gerardo, quizás tengamos un problema de filtro, sólo para aclarar un punto todo el modelo de Datos habla de varias Marcas de Vehículos, pero la FOTO_Vehículo, sólo habla de la Marca Honda :)
Saludos,
Renzo Roca - https://www.flowcode.com/page/renzoroca
Para que no se muestre el un texto no deseado al no tener seleccionado una modelo lo he implementado de la siguiente manera.
La función SELECTEDVALUE en DAX es una función lógica que devuelve el valor de una columna si solo hay un valor único en el contexto actual. De lo contrario, devuelve un valor alternativo que se puede especificar. Esto es útil en análisis donde se necesita obtener un valor específico basado en la selección del usuario, como en filtros o segmentaciones de datos.
Por ejemplo, si tienes una segmentación de datos para seleccionar un modelo de vehículo, SELECTEDVALUE(Modelo) te devolverá ese modelo siempre que se haya seleccionado uno único. Si hay múltiples o ninguno, puedes definir un valor predeterminado a devolver.
Esta función simplifica la interacción del usuario con los reportes en Power BI, permitiendo una análisis más intuitivo y eficiente.
Es un excelente recurso el de la clase, aunque ahora PBI agregó la opción de parámetros y también puedes hacer la misma funcionalidad.
Además de eso, también podemos configurar el título del gráfico con una función para que tome un valor dinámico dependiendo del filtro de la medida que se coloque
¿Es posible usar esto para gráficos dinámicos?
Absolutamente, esta es una de las aplicaciones más potentes y utilizadas para transformar un gráfico estático tradicional en una herramienta de exploración de datos profunda. Al colocar tu medida dinámica, creada previamente con SELECTEDVALUE y SWITCH, en el eje Y de un gráfico de líneas, la línea trazada cambiará automáticamente su escala, formato y valores según el botón que presione el usuario. Esto permite analizar tendencias de naturalezas completamente diferentes, como fluctuaciones de dinero o crecimiento de clientes, reutilizando de manera eficiente exactamente el mismo espacio visual en tu lienzo de Power BI.
Muy fea esta actualización de colocar los botones de navegación en el medio y hacer gris la pantalla. No ayuda para tomar pantallazos para los apuntes.
Dejen la versión anterior que permitía pausar el video y ver toda la imagen completa por favor. Muchas gracias.
El gráfico se me muestra como si tuviese un único valor. Alguien me puede guiar en qué hice mal?
Hola Mayken, me paso con el conteo de clientes porque mi medida de conteo único de clientes la generaba de la tabla clientes y toca generar la medida de la tabla Fact_Ventas; comprender la cantidad de ventas o el comportamiento de clientes cada periodo, revisa tu Medida en tu caso la de Margen como la esta generando para corregirla, te comparto mi pantallazo de antes y después cuando encontré mi error
Muy buena clase esto permite hacer nuestras tablas mas dinamicas
Tengo el mismo problema, cantidad clientes aparece asi y margen bruto con total de ventas aparece vacio:
Así he solucionado yo para que cuando no haya nada seleccionado aparezca "Seleccione un modelo":
Selección modelo = SELECTEDVALUE(dim_vehiculo[modelo_vehiculo], "Seleccione un modelo")
Para generar la medida "Margen Bruto 2", debes utilizar una fórmula DAX similar a la que se usa para "Total Ventas" en el contexto de medidas dinámicas. En el transcript se menciona que puedes establecer condiciones usando la función SWITCH junto con SELECTEDVALUE. Tu medida podría verse así: