Líneas de referencia dinámicas en base a filtros

Recientemente me han planteado varias preguntas sobre lineas de referencia, concretamente sobre cómo mostrarlas u ocultarlas en determinadas ocasiones. Como por ejemplo permitir que el usuario las muestre u oculte o que sólo se muestren cuando ciertos valores han sido selecciones en un filtro. Así que he decidido escribir un breve artículo sobre como podemos dar mayor dinamismo a nuestras líneas de referencia en base algunos de estos casos.

Líneas de referencia sólo para ciertos valores

Comenzaré por el ejemplo más sencillo. Imaginemos que queremos mostrar una línea de referencia, pero no para todos los valores de la dimensión que estemos utilizando, si no sólo para unos pocos. Por ejemplo, si queremos visualizar las ventas por país, y mostrar una línea de referencia sólo para los países de una determinada región. Supongamos que tenemos el siguiente gráfico:

 

 

Y que queremos mostrar únicamente líneas de referencia para los países de la zona Sur (South), para la cual tenemos un objetivo de ventas de 250.000 (el mismo para los tres países de dicha zona – Italia, España y Portugal). Bastaría con crear un campo calculado como el siguiente:

IIF([Region]=’South’,250000,NULL)

Arrastrar el campo calculado a la pestaña de Detalle (Detail), en este caso particular, calculado como la media, no la suma. Y a continuación añadir la línea de referencia desde el menú de Analytics para cada celda.

Y ya tendríamos nuestra línea de referencia para los países de la región Sur, mientras que el resto de países no cuentan con ninguna línea de referencia. Podríamos incluso eliminar la dimensión Región de la pestaña de color ya que no la necesitamos.

Mostrar u ocultar líneas de referencia

¿Y si lo que queremos es que el usuario pueda elegir si quiere ver o no las líneas de referencia? Podemos hacerlo utilizando un parámetro y un campo calculado.

Si no has utilizado nunca Parámetros en Tableau te recomiendo que eches un vistazo a este post. Pero en definitiva lo que vamos a hacer es crear un parámetro con un valor binario (verdadero / falso, o boolean) que he llamado Reference Lines, y un campo calculado que he llamado Reference Lines (show/hide) como este, que en definitiva lo que hará será mostrar como línea de referencia el valor de la suma de ventas con un incremento del 10%:

IIF([Reference lines],SUM([Sales])*1.10,NULL)

En el siguiente video puedes ver la funcionalidad de las líneas de referencia creadas con este método:

Líneas de referencia para un único y exclusivo valor

¿Y qué ocurre cuando queremos mostrar líneas de referencia para un valor concreto de una dimensión utilizando un filtro? Supongamos que tenemos una medida en nuestra base de datos que se llama Target Spain, la cual indica el target de ventas para España. En base a los ejemplos anteriores, podríamos de primeras optar por crear un campo calculado que nos devuelva dicha medida cuando seleccionamos España, como por ejemplo: IIF([Country]=’Spain’,[Target Spain],NULL).

El problema con dicho campo calculado, es que si tenemos un filtro en el que podemos seleccionar más de un país, el valor de las ventas será la suma de todos los países seleccionados, pero el valor del objetivo de ventas será únicamente el de España, pudiendo dar lugar a confusión.

Podemos solucionar esto modificando ligeramente el campo calculado, de forma que nos devuelva los valores única y exclusivamente cuando sólo España, y ningún otro país adicional, esté seleccionado.

¿Cómo? Muy sencillo. Con la función COUNTD para contar el número de países distintos en el detalle de nuestra visualización. Eso si, al tratarse de una función agregada, tendremos que agregar también la medida Target Spain y la dimensión Country:

IIF(ATTR([Country])=’Spain’ AND COUNTD([Country])=1,SUM([Target Spain]),NULL)

Así, la medida Target Spain (la cual utilizaremos como línea de referencia) sólo aparecerá cuando se haya seleccionado España y el número de países de nuestra visualización sea igual a 1. Es decir, únicamente se haya seleccionado un país, y este ha de ser el que hemos indicado al inicio de la condición.

Sin líneas de referencia al seleccionar dos países:

Con líneas de referencia cuando seleccionamos sólo España:

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *