Curso de DAX para Power BI

Medidas dinámicas con SELECTEDVALUE y SWITCH

Curso de DAX para Power BI

Contenido del curso

Medidas dinámicas con SELECTEDVALUE y SWITCH

Resumen

La función SELECTEDVALUE en Power BI te permite construir medidas dinámicas que responden a la selección del usuario, devolviendo un valor cuando la columna filtrada es única. Es una herramienta clave para analistas que quieren simplificar dashboards y darle control al usuario de negocio sin escribir DAX complejo.

¿Qué hace la función SELECTEDVALUE en DAX?

SELECTEDVALUE devuelve el valor por defecto siempre que el valor sea único en la columna seleccionada. Si hay más de un valor activo en el contexto, retorna blank o el valor alternativo que definas.

¿Qué es SELECTEDVALUE? Es una función DAX que retorna el único valor presente en una columna filtrada. Si existen múltiples valores, devuelve vacío salvo que indiques un valor alternativo.

Para probarla, puedes duplicar una matriz con Ctrl+C y Ctrl+V, y luego crear una nueva medida con clic derecho sobre la tabla. Por ejemplo, una medida llamada vehicle model selection igual a SELECTEDVALUE(vehicle[model]) mostrará el modelo elegido en una tarjeta [00:42].

¿Por qué aparece blank al usar SELECTEDVALUE?

Cuando colocas la medida en una tarjeta sin filtros aplicados, el resultado es vacío. Esto ocurre porque la medida no encuentra un contexto que la evalúe.

El contexto es uno de los conceptos más importantes para entender el comportamiento de los datos en DAX: una medida solo se evalúa cuando recibe un filtro o una selección que delimite los datos a considerar.

¿Cómo crear medidas dinámicas con SELECTEDVALUE y SWITCH?

Uno de los usos más potentes de SELECTEDVALUE es permitir que el usuario elija qué métrica visualizar en un gráfico. La idea es combinarla con SWITCH para que el dashboard cambie según la selección.

El ejercicio empieza creando una tabla manual con la opción especificar datos [01:35]. La tabla se llama dynamic measures y contiene una columna measure name con tres valores:

  • Gross margin.
  • Total sales.
  • Number of customers.

Después de cargar la tabla, agregas una segmentación de datos sobre esa columna. Puedes darle estilo horizontal o de mosaico para que se vea como botones interactivos.

¿Cómo enlazar la selección con una medida real?

Sobre la tabla dynamic measures, creas una primera medida llamada dynamic indicator selection:

DAX Dynamic Indicator Selection = SELECTEDVALUE(dynamic_measures[measure name])

Esta medida actúa como input para una segunda medida más compleja, llamada dynamic measure SV, que usa SWITCH con la lógica TRUE() para evaluar cada caso [02:48]:

DAX Dynamic Measure SV = SWITCH( TRUE(), [Dynamic Indicator Selection] = "Total Sales", [Total Sales], [Dynamic Indicator Selection] = "Gross Margin", [Gross Margin 2], [Dynamic Indicator Selection] = "Number of Customers", [Number of Customers] )

Cada rama del SWITCH conecta el texto de la selección con la medida correspondiente que ya tienes en tu modelo.

¿Cómo visualizar una medida dinámica en un gráfico de líneas?

Con la medida lista, agregas un gráfico de líneas y configuras los ejes para que respondan a la interacción del usuario.

  • En el eje X coloca date, agrupando por quarter y month.
  • En el eje Y coloca la medida dynamic measure SV.
  • Cambia el tipo de eje de continuo a categórico para mejorar la lectura.

¿Para qué sirve combinar SELECTEDVALUE con SWITCH? Permite que un solo gráfico muestre distintas métricas según el botón que el usuario presione, evitando duplicar visualizaciones en el dashboard.

Ahora, al hacer clic en total sales ves la tendencia de ventas; al elegir gross margin aparece el margen bruto calculado; y al seleccionar number of customers el gráfico muestra la evolución de clientes asociados [04:12].

¿Qué ventaja aporta esto al usuario de negocio?

El beneficio principal es simplificar la interacción. En lugar de navegar por varios reportes o pestañas, el usuario controla qué indicador analizar desde un único conjunto de botones.

Esta técnica también reduce la carga visual del dashboard y mantiene un diseño limpio. Si manejas más de tres métricas, puedes ampliar el SWITCH sin tocar el gráfico.

¿Has aplicado SELECTEDVALUE en alguno de tus reportes? Cuéntame en los comentarios qué métricas dinámicas te gustaría construir.