Analisis con Tableau: Cómo crear un calendario interactivo en Tableau

sábado, 31 de octubre de 2015

Cómo crear un calendario interactivo en Tableau

Una de los mayores puntos fuertes de Tableau es su gran versatilidad frente a otros programas de BI y visualización de datos, especialmente sin necesidad de tener conocimientos de programación ni picar código.

Esta versatilidad permite, por ejemplo, crear visualizaciones con la estética de un calendario con la ventaja añadida de su fácil lectura para la mayoría de personas gracias a lo familiarizados que estamos con este formato que vemos prácticamente a diario en nuestros teléfonos móviles, ordenadores, mesas de trabajo, páginas de reserva de vuelos u hoteles, etc. Además, podemos dar al calendario un valor extra añadiendo color que represente un valor, como en la imagen de abajo, donde podemos ver las ventas que ha realizado una empresa durante el mes de noviembre de 2014:


El filtro nos permite además ir visualizando cada uno de los meses del año, pudiendo añadir filtros y acciones adicionales, de forma que si pulsamos en un día concreto, podríamos ver por ejemplo la distribución de ventas de ese día entre las distintas tiendas, por producto  o lo que consideremos oportuno.

Aprendí a crear este tipo de visualización con Andy Kriebel durante mi formación en la Data School de The Information Lab. Podéis ver el blog original de Andy sobre cómo crear esta visualización en este enlace. El proceso es bastante sencillo y es también un buen ejercicio para aquellos que están iniciándose en Tableau ya que ayuda a comprender mejor como funcionan las fechas  y familiarizarse con el uso de los estantes de filas y columnas.

En el ejemplo he utilizado la base de datos de  Superstore Sales que viene con Tableau. Lo único esencial para crear esta visualización es contar con una variable que tenga formato de fecha y sea reconocido por Tableau. Si tenemos eso (Order Date en este ejemplo) seguimos estos pasos:

1) Filtrar por mes: Para ello la forma más rápida es hacer click con el botón derecho del ratón en el campo de fecha que queramos utilizar y arrastrarlo a la tarjeta de filtros. Aparecerá un menu como el que veis en la imagen de abajo, donde tenemos que elegir como queremos filtrar en base a dicha variable. Elegimos Month / Year para filtrar la visualización en base a cada mes de cada año disponible en la base de datos.


2) En la siguiente ventana seleccionamos todos los meses, y a continuación hacemos click con el botón derecho en la píldora de fecha que aparece en la tarjeta de filtros (o click normal en la pestaña que aparece en el extremo derecho de la píldora) y seleccionamos Show Quick Filter (mostrar filtro rápido). Nos aparecerá una nueva ventana a la derecha con todos los meses de cada año que tenemos en la base de datos donde podremos filtrar los que queremos visualizar. Para hacerla más amigable, pulsamos en la pestaña situada en la esquina superior derecha del filtro y seleccionamos Single Value (Slider) (Valor individual (barra deslizante)). De forma que el filtro pase a ser una barra que podemos desplazar para seleccionar el mes.


3) Tenemos ya nuestro filtro, ahora pasaremos a crear la visualización en si. Ahora tendremos que realizar varias veces pasos similares al primero. Pulsamos y arrastramos de nuevo con el botón derecho en nuestra variable fecha de la ventana de datos y la arrastramos al estante de columnas, nos aparecerá la misma ventana que vimos en el paso 1 y seleccionamos Month (Mes) de la primera sección de opciones, ya que queremos tratar el mes como una categoría y no crear un eje. Ahora en la visualización aparecerá el mes concreto que está seleccionado en nuestro filtro.

4) Arrastramos de nuevo con el botón derecho en nuestra variable de fecha y la volvemos a soltar en el estante de columnas y esta vez seleccionamos Weekday (día de la semana), también en la primera sección de opciones. Ahora tendremos en nuestra cabecera el mes y los días de la semana.

5) Arrastramos de nuevo nuestra variable del mismo modo que en los pasos 3) y 4) pero esta vez lo soltamos en el estante de filas y seleccionamos Week (Semana). Para tener así en cada fila las semanas de el mes concreto que hemos seleccionado en el filtro. Si todo ha ido bien, en este punto deberías tener algo similar a esto:

  
6) De nuevo seleccionamos y arrastramos nuestra variable con el botón derecho, igual que en los pasos anteriores, pero esta vez la soltamos en el icono Text (Texto) de la tarjeta de Marks (Marcas) y seleccionamos Day (Día) de la primera sección de opciones.

7) Nuestro calendario va cogiendo forma, ahora vamos a darle un poco de formato. Primero vamos a borrar el nombre de la variable de la parte superior de la visualización, ya que no aporta gran valor, para ello hacemos click derecho en el nombre de la variable y pulsamos Hide Field Labels for Columns (Ocultar etiquetas de campo para columnas). 


8) A continuación hacemos click derecho en la píldora de semanas que tenemos en el estante de filas y desmarcamos Show Header (Mostrar encabezado), para que así no veamos el encabezado del número de la semana, pero seguimos teniendo esa partición en nuestra visualización.

9) Ahora vamos a cambiar el formato en el que aparecen los días de la semana, para que ocupen menos espacio y no se corte el texto. Para ello hacemos click derecho en un día de la semana y seleccionamos Format (Formatear). Aparecerá una nueva lista de opciones a la izquierda de la pantalla y donde pone Dates (Fechas) podemos hacer click y cambiar el formato de automático a Abbreviation (Abreviación), o First Letter (Primera letra) si lo preferimos.


10) Nuestro calendario está prácticamente listo. Ahora podemos continuar modificando el formato para darle aún mejor aspecto. Por ejemplo, en si vamos a la pestaña de Borders (Límites) del menú que ves en la imagen anterior, podemos incluir bordes en ca Cell (Celda), Pane (Panel) y Header (Encabezado) para darle un aspecto del típico calendario en papel. También podemos modificar la fuente, el tamaño y demás a nuestro gusto.

11) Por último y siguiendo nuestro ejemplo, arrastramos una de nuestras medidas a la pestaña de color de la tarjeta de marcas. Veremos que en vez de colorear el fondo en base a la suma de ventas realizada cada día, Tableau colorea tan sólo el número de día. Para modificarlo, cambiamos el tipo de marca de automático a Square (cuadrado) y tendremos nuestro calendario, que debería ser parecido a este:


Ahora sólo tendremos que utilizarlo ene un dashboard y añadir acciones para aprovecharlo al máximo. Un calendario es una forma muy intuitiva y cómoda a modo de filtro, como por ejemplo se puede ver en este dashboard que cree con datos mios de la aplicación Moves durante este verano. Si seleccionas un día del calendario puedes ver mi localización a lo largo de las 24 horas de dicho día. Haz click en la siguiente imagen para ver el dashboard en acción.



2 comentarios:

Anónimo dijo...

Buenas Pablo,

En primer lugar, felicidades por el blog. Estaba buscando ejemplos de Dashboards en Tableau basados en datos de la aplicación Moves y he llegado hasta aquí. Tengo curiosidad para saber cómo te lo hiciste para conectar los distintos puntos geográficos que tiene dataset y así dotar a la visualización de una mayor comprensión sobre el transcurso del tiempo efectuado y el sentido que toman los puntos.

Muchas gracias

Unknown dijo...

Buenas,

muchas gracias por leer el blog. Conectar los distintos puntos no es complicado, pero hay que seguir algunos pasos. Lo primero es que necesitas cambiar el tipo de marca de puntos a lineas, y tener una variable que indique el orden en el que quieres que Tableau conecte los puntos, y utilizar esa variable en el estance de ruta (Path si estas utilizando Tableau en inglés). Aqui tienes un articulo de Tableau que explica en pocos pasos como hacerlo si necesitas más información: http://kb.tableau.com/articles/knowledgebase/using-path-shelf-pattern-analysis?lang=es-es Viene bastante bien explicado, pero si te surgen dudas preguntame sin problemas.

Saludos!