El objetivo de este escenario es utilizar una segmentación para controlar el contenido de una gráfica. Por ejemplo, partimos de la siguiente tabla de datos:
Tras leerla desde Power BI, podemos crear una gráfica de columnas mostrando el contenido del campo Ingresos:
Lo que desearíamos es usar una segmentación para mostrar en la gráfica los ingresos o los gastos. Comenzamos creando la segmentación para lo cual vamos a crear una tabla (desde Power BI) usando la herramienta de Especificar datos en la que incluyamos, en una columna, las dos etiquetas a mostrar:
A continuación, podemos crear la segmentación usando como campo Opciones[Opciones]:
A la segmentación mostrada en la imagen anterior se ha aplicado cierto formato para hacerla más amigable: se ha retirado el título, se le ha dado orientación horizontal y se ha aplicado un color personalizado tanto a la fuente como al fondo de los elementos.
Ahora necesitamos crear una medida que, en función de la opción escogida, devuelva la agregación de ingresos o de gastos:
Valor = SWITCH(
SELECTEDVALUE(Opciones[Opciones]);
"Ingresos"; SUM(data[Ingresos]);
"Gastos"; SUM(data[Gastos]);
SUM(data[Ingresos])
)
En ella analizamos el contenido del campo Opciones[Opciones] una vez aplicado el contexto de filtro, y devolvemos un resultado u otro en función de su valor: si toma el valor Ingresos, se devuelve la suma del campo homónimo. Si toma el valor Gastos, hacemos lo propio con dicho campo. Se incluye también un valor por defecto (la suma de ingresos) para el caso de que el usuario no haya seleccionado ninguna opción en la segmentación.
Ahora llevamos esta medida al campo Valor de la gráfica, sustituyendo al campo Ingresos que habíamos llevado al comienzo. Y ya está. Si presionamos el botón de ingresos en la segmentación, Opciones[Opciones] toma el valor Ingresos, por lo que la medida Valor que hemos creado devolverá la suma de ingresos (en la siguiente imagen se ha añadido una tabla con los valores a representar para facilitar la comparación):
Y si seleccionamos Gastos, se muestran los gastos: