grafica de calendario en tableau

Cómo crear un calendario interactivo en Tableau

La visualización de calendario puede resultar útil cuando queremos visualizar variaciones o tendencias temporales. A diferencia de las gráficas lineales o de area que representan la evolución temporal, la gráfica de calendario es especialmente útil para resaltar el día de la semana en la que se han registrado los datos. Además permite identificar visualmente y de una manera muy rápida los días festivos o periodos vacacionales que pueden afectar considerablemente a los datos.

Para mostrar cómo construir un calendario en Tableau voy a usar la tabla “Orders” base de datos de Sample-Superstore que Tableau incluye de manera predeterminada en el directorio My Tableau Repository\Datasources. Adicionalmente, también voy a emplear un documento Excel con un campo de fecha que he creado para los valores de 2020 a 2023.

En primer lugar, vamos a ver paso a paso cómo generar la estructura de cuadrícula para cada mes. A continuación, describiremos cómo hacer que el calendario sea dinámico. Y, por último, vamos a ver diferentes ejemplos de opciones para mostrar información relevante en nuestro calendario.

Crear un calendario en Tableau

Antes de nada, voy a realizar una unión entre la tabla de Orders y la tabla personalizada con el rango completo de fechas, ya que el campo de Order Date representa los días en los que se han recibido pedidos y, por tanto, no incluye las fechas para los días sin pedidos, por lo faltarían algunos días en nuestro calendario.

Right Join entre la tabla Orders y la tabla con las fechas

Para empezar a crear nuestro calendario, tenemos que partir de un campo de tipo fecha. En este caso el campo que se va a emplear es “Date”, utilizando las opciones de partes de fecha (las opciones mostradas en la imagen a continuación):

Opciones de partes de fecha
  • En las columnas tendremos que añadir la opción de Mes y año (MY)  y a continuación la de Día de la semana (WEEKDAY).
  • En las filas añadiremos la Semana (WEEK).
  • Y como valores de texto (en el panel de marcas) incluiremos el Día (DAY).
Configuración inicial de la hoja

El siguiente paso es añadir filtros, ya que para darle el formato de visualización típico de un calendario necesitamos mostrar un único mes por cada página. Estos filtros van a ser estáticos de momento, seleccionando manualmente un mes y un año. Posteriormente, veremos cómo modifcarlos para que el calendario sea dinámico y se pueda seleccionar qué año o mes mostrar en la visualización.

Para este ejemplo, vamos a mostrar el año 2020, empezando por el mes de Enero. Arrastramos el campo “Date” a filtros y seleccionamos la opción de Años en la sección de partes de fechas.

Añadimos el campo Date al panel de filtros, seleccionando la opción de Años
Seleccionamos manualmente un año

A continuación, repetimos los mismos pasos pero esta vez seleccionando la opción de Meses.

Seleccionamos manualmente un mes

Modificamos la opción de visualización a Vista Entera.

Y para ocultar las cabeceras de las semanas, hacemos clic derecho sobre la pastilla de Semana (WEEK) y desmarcamos la opción de Mostrar Cabecera (Show Header).

Ocultamos la cabecera

El resultado que obtendremos es el siguiente:

Resultado: calendario mensual fijo

El siguiente paso es duplicar esta hoja tantas veces como sea necesario, modificando los filtros para obtener una hoja para cada mes. Una vez tengamos todas las hojas listas, podemos juntarlas en un Dashboard, creando la visualización deseada.


En este caso, voy a generar un Dashboard con un calendario completo del año 2020. Y acontinuación, vamos a ver cómo modificar el calendario para que sea interactivo y varien los meses o años mostrados. Por último, vamos a mostrar diferentes opciones de personalización y cómo podemos mostrar información dentro de esta gráfica.

Resultado: Calendario anual en Tableau fijo

Crear un calendario interactivo en Tableau

Una vez tenemos listo nuestro calendario, podemos añadir interactividad para que las fechas que se muestran varien. Esta interactividad se puede añadir de manera que el usuario sea el que escoja las fechas que se muestran o para que siempre se muestre el año o mes actual o anterior, independientemente de que se modifiquen las fechas en la base de datos. Vamos a ver ambos casos.

Cómo modificar las fechas de un calendario con parámetros

Para habilitar la opción de que el usuario pueda modificar las fechas de la visualización, necesitaremos utilizar parámetros. Primero, vamos a ver cómo modificar el mes que se muestra.

El primer paso es crear un parámetro de tipo Integer con el número de cada mes y su correspondiente nombre como valor que se va a mostrar (Display As):

Parámetro de tipo Integer para seleccionar el mes a mostrar

A continuación, creamos un campo calculado que busque el mes en el campo “Date” cuyo número sea igual al valor seleccionado en el parámetro. Este campo calculado vamos a necesitarlo para que nuestro filtro de mes sea dinámico y filtre las fechas para mostrar el mes seleccionado.

Campo calculado para crear un filtro de mes dinámico

Arrastramos el nuevo campo al panel de Filtros, sustituyendo al antiguo filtro de Mes manual, e indicamos que el resultado de la comparación sea verdadera (TRUE):

Configuración del filtro de mes dinámico

Con esta configuración ya tenemos lista una hoja en la que podemos modificar el mes que se muestra:

Resultado: Calendario mensual en el que se puede seleccionar el mes a mostrar

Y también podemos variar el año de la visualización con un parámetro y otro campo calculado que utilizaremos como filtro. Para ello, creamos un parámetro de tipo Integer con los valores de los años que queremos mostrar.

Parámetro de tipo Integer para seleccionar el año a mostrar

El siguiente paso es crear el campo calculado que compare si el valor del año seleccionado en el parámetro es igual al valor del año de las fechas disponibles.

Campo calculado para crear un filtro de año dinámico

Arrastramos este campo calculado al panel de filtros, sustituyendo al anterior filtro manual de año y le indicamos que el resultado de la comparación sea verdadero (TRUE).

Configuración del filtro de año dinámico

Como resultado, tenemos un calendario mensual en el que se puede modificar el año mostrado.

Resultado: Calendario mensual en el que se puede seleccionar el año a mostrar

Para crear un calendario anual en el que se pueda modificar el año que se muestra, tenemos que crear una hoja para cada mes en la que el filtro del año sea con el campo calculado que hemos creado, de manera que los meses mostrados en el calendario correspondan con los del año seleccionado:

Resultado: Calendario anual en el que se puede seleccionar el año a mostrar

Cómo mostrar el mes actual o más reciente de la base de datos

Para mostrar el mes actual necesitaremos crear 2 campos calculados. En primer lugar, tenemos que utilizar el Nivel de Detalle (Level Of Detail) para seleccionar la fecha máxima que tenemos en nuestro campo de fecha. 

Campo calculado para extraer la fecha máxima

El segundo campo personalizado realiza una comparación entre el número de cada mes y el mes de la fecha máxima que tenemos y también entre el año de la fecha máxima y el año de los valores del campo de fecha. Si se cumplen esas 2 condiciones, el campo devolverá las fechas para el último mes que tenemos registrado.

Campo calculado para extraer las fechas del último mes disponible

Arrastramos este campo al panel de filtros y seleccionamos la opción de Mes / Año (Month / Year).

Configuración del campo calculado en el filtro

En la siguiente ventana, tenemos que excluir los valores nulos (null), que son todos aquellos que no cumplen con las condiciones establecidas.

Configuración del campo calculado en el filtro

Y con esta configuración, siempre vamos a poder visualizar el mes más reciente de los datos que tenemos en la base de datos, independientemente de que sus valores cambien.

Resultado: Calendario mensual con el último mes registrado en la base de datos

Cómo mostrar el calendario del año actual o el último año de la base de datos

Siguiendo la explicación anterior, también podemos generar un calendario en el que se muestre siempre el último año que tenemos registrado en la base de datos. Para ello, necesitaríamos crear 2 campos calculados.

En primer lugar, necesitamos un campo que extraiga el valor de año máximo que tenemos en la base de datos:

Campo calculado para extraer el año máximo

Y en segundo lugar, necesitamos un campo que compare el año de las fechas con el valor máximo de año que hemos calculado previamente. 

Campo calculado para extraer las fechas del último año disponible

Por último colocamos este campo como filtro de año e indicamos que el resultado de la comparación sea verdadero (TRUE).

Configuración del campo calculado en el filtro
Resultado: Calendario mensual con mes fijo del último año registrado en la base de datos

Para crear el calendario anual completo, necesitaremos duplicar esta hoja para cada mes y modificar el filtro manual del mes, logrando el siguiente resultado: un calendario que siempre mostrará los meses del año más reciente que aparezca en la base de datos.

Cómo mostrar información en un calendario en Tableau

En esta última sección del artículo, vamos a centrarnos en la parte estética, explorando diferentes ejemplos básicos y opciones para mostrar información dentro de la gráfica de calendario.

Opción 1 – Variación temporal de una métrica

La primera opción es añadir una métrica como color y seleccionar el tipo de marca Cuadrado (Square) para que se muestre en qué días el valor ha sido mayor y en cuáles ha sido menor:

Resultado: Calendario mensual con variación de color para una métrica
Resultado: Calendario anual con variación de color para una métrica

Con esta opción y la métrica seleccionada (la suma de las ventas), podemos identificar rápidamente en qué periodos han habido mayores ingresos.

Adicionalmente también se pueden añadir otras métricas como el beneficio, la cantidad, el ratio de beneficios, la comparación con el año anterior, etc. Las opciones disponibles variarán dependiendo de los datos disponibles y las necesidades del usuario final.

Opción 2 – Señalar festivos o temporadas especiales

Siguiendo con el ejemplo anterior, también podemos añadir una marca que nos permita identificar ciertas fechas y comprender si hay alguna justificación temporal para las variaciones. Por ejemplo, algunas empresas incrementan sus ventas tras una campaña publicitaria o las semanas anteriores a Navidad.

Resultado: Calendario mensual con indicaciones textuales para fechas destacadas

Opción 3 – Enlace a visualizaciones con más detalle

Otra opción para ampliar el contenido que aporta esta gráfica es añadir una acción de enlace a una visualización secundaria en la que se incluye nueva información. 

Acción de enlace a una visualización secundaria

En este ejemplo, el enlace redirige al usuario a una hoja que contiene un detalle sobre los pedidos realizados ese día.

Detalle de pedidos para el día seleccionado

Opción 4 – Uso de Figuras (Shapes)

Como alternativa a añadir la variación de una métrica como color de fondo, se pueden utilizar Figuras (Shapes). Con las figuras podemos representar, por ejemplo, si se cumple una condición, como veremos a continuación. Aunque también podemos emplearlas para representar los diferentes valores de una dimensión o para señalar fechas concretas, entre otros usos.

Si queremos representar si se cumple una condición, por ejemplo, lograr el objetivo de que las ventas sean mayores de 1000, tendremos que crear un campo calculado que establezca si se cumple o no. Aunque no es necesario, para este ejemplo se ha creado un campo adicional en el que se establece el objetivo. Este campo podría ser sustituido por un parámetro para que se pudiese modificar de manera dinámica el valor.

Campo calculado para definir un objetivo fijo
Campo calculado para comprobar si se cumple la condición

Una vez tenemos creado el campo que valida si se cumple la condición, lo arrastramos al panel de marcas y configuramos que su función sea la de definir las figuras. También podemos arrastrarlo a la opción de color para que se diferencie mejor las diferentes marcas:

Resultado: Calendario mensual con figuras para indicar si se cumple la condición establecida

Opción 5 – Uso de color para mostrar si se cumple una condición

Además de añadir color para mostrar los diferentes valores de una métrica, también se pueden utilizar para indicar si se cumple una condición o no.

Por ejemplo, podemos modificar el campo anterior de objetivo e indicar que el valor a lograr sea 200. Y también podemos modificar el campo de la condición para que tenga 3 valores: 1 si la condición se cumple, 0.5 si casi se cumple y 0 en el caso de que no se cumpla.

Campo calculado para comprobar si se cumple la condición

Volvemos a añadir este campo como color y ajustamos la marca para que sea de tipo Cuadrado (Square). El resultado podría ser como el mostrado en la imagen a continuación, donde el color gris se utiliza para no destacar los días en los que no se cumple la condición y las 2 tonalidades de verde para destacar los días en los que sí se cumple o casi.

De esta manera, se puede identificar de manera rápida los días en los que las ventas han alcanzado cierto valor, destacándolos sobre el resto de días.

Resultado: Calendario anual con uso de color para indicar si se cumple una condición

Opción 6 – Comparación interanual (Year Over Year YTD) en un tooltip

El último ejemplo que vamos a ver es añadir una gráfica dentro del tooltip que muestre la diferencia entre las ventas de ese día y las ventas del mismo día del año anterior. Este tipo de comparación es especialmente útil para hacer comparaciones evitando la temporalidad de algunas épocas del año.

Para ello, creamos la gráfica en una hoja a parte y la insertamos en el tooltip. Para que el filtro de año de la hoja que contiene el calendario no afecte a los años que se muestran en el tooltip, debemos asegurarnos que el filtro al insertar la hoja sólo filtre por día: 

Filtro de la hoja modificado para filtrar sólo por día

El resultado podría ser similar al siguiente:

Ejemplo de un posible resultado

Estos han sido algunos ejemplos simples de la información que se puede visualizar en este tipo de gráfica, pero hay muchas variables y opciones disponibles, que pueden ser adaptadas para cada caso de uso ¡Espero que os haya parecido útil!

artículos relacionados

grafica de calendario en tableau

Cómo crear un calendario interactivo en Tableau

La visualización de calendario puede resultar útil cuando queremos visualizar variaciones o tendencias temporales. A diferencia de las gráficas lineales o de area que representan

Creando un Gráfico de Cascada en Tableau

Introducción En este tutorial exploraremos paso a paso cómo crear un gráfico de cascada en Tableau y entenderemos porque este tipo de visualización es tan

¿Cómo crear un Bump Chart en Tableau?

En este post aprenderemos cómo crear un Bump Chart en Tableau. Es una visualización sencilla de entender en la cual se muestra la progresión de un valor o dimensión con respecto a otra dimensión en el tiempo. Las líneas siguen el ranking de dicha dimensión y así se puede apreciar el cambio en el mismo durante el tiempo que tengamos en la visualización. Utilizaremos el dataset de Sample – Superstore para hacer el ejemplo.

Cómo crear un Waffle Chart en Tableau

Un Waffle Chart es un tipo de gráfica que nos permite visualizar porcentajes de una forma muy clara y representativa, puesto que divide el espacio en 100 cuadraditos iguales, los cuales tienen un color determinado en función del porcentaje de la variable a representar. Es decir que si por ejemplo tenemos un beneficio del 27%, 27 de los 100 cuadraditos serán de un color (por ejemplo verde) y el resto serán de otro color (por ejemplo gris).