Valor seleccionado en una columna

En ocasiones necesitamos averiguar si un valor ha sido o no seleccionado en una columna (a través de una segmentación, etc.). Una forma de conseguir esto es mediante el uso de la función IN. Cuando se usa con un único escalar a la izquierda de IN, esta función devuelve TRUE si el escalar aparece en un listado de valores que se incluye a la derecha. Por ejemplo, supongamos que tenemos una tabla Geography que incluye información geográfica, incluyendo un campo Country con el nombre del país:

Tabla Geography

En el lienzo podemos tener un mapa mostrando las ventas por país, o una segmentación por países, o cualquier otra visualización que nos permita seleccionar un país. Supongamos que tenemos una segmentación:

Segmentación de países

Ahora utilicemos la función IN para definir una medida que compruebe si la cadena "España" aparece como valor en la columna Geography[Country]. Para esto utilizaremos la función VALUES, que devuelve una tabla con una única columna conteniendo los valores distintos contenidos en la columna indicada. El código de la medida sería el siguiente:

España seleccionada = "España" IN VALUES(Geography[Country])

Si llevamos esta medida al lienzo (sin seleccionar ningún país en la segmentación), se mostrará lo siguiente:

España seleccionada por defecto

...pues, al no haber seleccionado ningún país, todos ellos se consideran seleccionados. Ahora, si seleccionamos otro país en la segmentación, por ejemplo Italia, se mostrará la siguiente imagen:

España no está seleccionada

Si seleccionamos dos países incluyendo a España, nuestra medida devolvería TRUE nuevamente:

España e Italia seleccionadas

 

Funciones DAX involucradas
Enviado por admin el Mié, 26/06/2019 - 18:20