1. Introducción
A continuación se recogen los pasos para crear con Tableau Public un cuadro de mando con el que visualizar los indicadores de presión turística C.1.1 y C.1.3 definidos por la Comunidad Europea, que se usaron a modo de ejemplo durante el el workshop “Visualizar datos abiertos” impartido dentro de las jornadas “Datos abiertos y ciudadanía” en noviembre de 2019 en Tabakalera.
Después de recoger y prepar los datos, ahora explicamos cómo crear un cuadro de mando que nos ayude a detectar patrones generales tanto geográficos como temporales en torno a los dos indicadores de presión turística seleccionados.
2. Cuadro de mandos final
El resultado final de este ejercicio puede verse en esta dirección de Tableau Public.
El cuadro de mando consta de los siguientes elementos:
2.1 Parámetro
El parámetro permite al usuario seleccionar el indicador que quiere analizar.
2.2 Mapa
Mapa coloreado por zonas geográficas que permite al usuario seleccionar una o más zonas geográficas para analizar.
2.3 Graficos de evolución temporal
Estos dos gráficos permiten observar la evolución temporal del indicador seleccionado para la/s zonas/ seleccionada/s, a distinto nivel de detalle.
2.3.1 Gráfico con evolución anual
El color de cada cuadrado indica si el indicador ha crecido o decrecido con respecto al año anterior. Además, si la base de datos no recoge todos los datos de un año dado (es el caso del año 2019 en el momento en el que se impartió el workshop) el cuadrado no tiene relleno.
Para añadir algo de contexto, se muestran los valores máximo y mínimo para cada una de las zonas geográficas.
2.3.2 Evolución mensual
Similar al anterior. En este caso, tenemos una marca para cada mes, con estas características:
- El tamaño del punto está mapeado al valor del indicador
- El color del punto indica si el indicador ha crecido o decrecido con respecto al mismo mes del año anterior (por ejemplo, enero de 2019 con respecto a enero de 2018).
- Se muestran los valores máximo y mínimo para cada una de las zonas geográficas.
2.4 Gráfico de barras
Este gráfico muestra el valor del indicador seleccionado para cada zona geográfica seleccionada, para el último año con datos disponibles en el dataset. Se muestra con un gráfico de barras para poder comparar mejor las zonas geográficas entre sí.
2.5 Cuadro de texto
Con información adicional sobre el proceso de creación del cuadro de mando.
3. Cargar y combinar fuentes de datos
Para crear este cuadro de mando necesitamos tres de las fuentes de datos que hemos preparado anteriormente con Tableau Prep:
todo.csv
: fichero con los datos de pernoctación, plazas ofertadas y habitantes por zona geográfica, año y mes.municipios_por_zonas_geograficas.csv
: fichero con los territorios históricos, zonas geográficas y municipios, que usaremos para poder crear el mapa (que tiene los datos a nivel de municipio, pero no de zona geográfica).CB_MUNICIPIOS_5000_ETRS89_mikel.zip
: esta versión del archivo disponible en Open Data Euskadi está modificada para que los nombres de los municipios coincidan con los demunicipios_por_zonas_geograficas.hyper
(las modificaciones se han realizado con QGIS, ya que Tableau Prep no permite cargar archivos espaciales).
3.1 Fuente de datos todo extracción
Al cargar el archivo todo.hyper
se configura automáticamente esta fuente de datos. No hace falta realizar ninguna modificación, ya que ya las realizamos al preparar los datos.
3.2 Fuente de datos Extract+ (varias conexiones)
En esta fuente de datos vamos a combinar los datos espaciales para que se puedan usar a nivel de zona geográfica
.
- Cargamos el archivo
municipios_por_zonas_geograficas.hyper
. - Añadimos el archivo espacial
CB_MUNICIPIOS_5000_ETRS89_mikel.zip
Unimos los dos archivos con una unión a la izquierda (si municipios_por_zonas_geograficas.hyper
está a la izquierda), usando las variables municipio
y Nombre Top
con el operador de igualdad.
3.3 Editar relaciones de fuentes de datos
Finalmente, tenemos que crear una relación entre las dos fuentes de datos que hemos configurado en los pasos anteriores, para que los datos de una fuente se entiendan con los de otra fuente (en terminología de Tableau, data blending).
Desde la interfaz de creación de vista, accedemos desde el menú a Datos > Editar relaciones
y configuramos las siguientes relaciones:
- Fuente principal:
todo extracción
- Fuente de datos secundaria:
Extract+ (Varias conexiones)
- Modo: automático.
Los campos th
y Zona geográfica Corregida
tienen que aparecer en la zona de relaciones.
4. Gráficos
4.1 Mapa
Para crear el mapa, seleccionamos la fuente de datos Extract+ (Varias conexiones)
y configuramos el mapa de la siguiente forma:
Geometría
aDetalle
Zona geográfica Corregida
aColor
El archivo espacial tiene los contornos de los municipios, que hemos agregado a nivel de zona geográfica
al traer esta variable a la vista, por lo que el mapa muestra todos los límites municipales (aunque no disponemos de datos a ese nivel de desagregación). Para eliminarlos de la vista, tenemos que eliminar los límites de las marcas desde el canal de Color
. Los límites municipales volverán a verse cuando pasemos el ratón por encima de un municipio (para eliminar este efecto deberíamos combinar las formas espaciales en un programa como CGIS).
El mapa va a servirnos para seleccionar las zonas geográficas que queramos analizar en el cuadro de mando. Como los datos están limitados a Euskadi, podemos eliminar la información geográfica que nos ofrece Tableau. Para centrar toda nuestra atención en las zonas geográficas, vamos a realizar las siguientes modificaciones:
Mapa > Capas de mapa
: deseleccionamos todas las capas.Mapa > Opciones de mapa
: desmarcamos todas las opciones
Finalmente, para que el mapa destaque como una zona especial en el cuadro de mandos, vamos a asignarle un color de fondo distinto al blanco.
Formato > Sombreado... > Hoja > Predeterminado > Hoja de trabajo
: asignamos un color suave pero que se distinga del blanco.
4.2 Evolución anual
Este gráfico muestra una marca por cada zona geográfica (11) y año (9), por lo que tendremos un máximo de 99 marcas (más adelante crearemos una acción de filtro para filtrar según la selección del usuario).
La configuración básica del gráfico queda así:
- Seleccionamos la fuente de datos
todo extracción
- Filas:
Th
yZona geográfica Corregida
- Columnas:
Año(Fecha)
- Tipo de marca:
Cuadrado
4.2.1 Crear campos calculados
4.2.1.1 Indicador C.1.1
Para poder crear una gráfica que nos muestre alguno de los indicadores, primero tenemos que crear los campos calculados que calculen dichos indicadores, ya que de momento únicamente tenemos las variables por su lado. De momento vamos a trabajar con el indicador C.1.1, que se calcula con la siguiente fórmula:
"Total number of tourists* average length of stay/total residents*365/100".
Vamos a usar una versión ligeramente distinta de esta fórmula para eliminar la referencia temporal (número de habitantes * 365 [días]) y crear el cálculo per capita (eliminando la división).
// C.1.1
SUM([Pernoctaciones]) / MIN([Habitantes])
Recordemos que para calcular el número de pernoctaciones de una zona geográfica para un año tenemos 12 meses x 2 tipos de alojamientos = 216 filas que sumar (12 en el caso de las cápitales, ya que según Eustat no hay alojamientos rurales en las capitales); sin embargo, no podemos sumar de la misma forma el número de habitantes, ya que obtendremos cifras incorrectas (por ejemplo, en el caso de Donostia serían, para 2018, el valor correcto es de 180.989 habitantes, no 2.171.868). El siguiente gif muestra los resultados de los distintos cálculos (sum()
contra min()
), y como saber qué datos está usando Tableau para realizar los cálculos, accediendo a Ver datos > Datos completos
.
Resultados de los cálculos en Tableau (GIF, 1 MB)
Cuando creamos este tipo de cálculos, conviene revisarlos antes de aplicarlos directamente en un gráfico. Para comprobar que todo está bien, creamos una tabla con los variables por un lado y el campo calculado por otro. En el ejemplo, observamos que el indicador C.1.1 tuvo un valor de 9,7 para la Rioja Alavesa en 2011.
Si realizamos el cálculo usando directamente los datos de Eustat ((pernoctaciones de hoteles + pernoctaciones de alojamiento rurales) / suma de los habitantes de los municipios de la Rioja Alavesa) observamos que el cálculo que ha realizado es correcto.
Una vez que hemos comprobado que los cálculos son correctos, podemos empezar a usar el campo calulado en nuestro gráfico
- Llevamos
C.1.1
aTexto
. - Configuramos el canal
Texto
de la siguiente forma- Mostramos los valores
Min/Máx
- Alcance:
Celda
- Mostramos los valores
Con esta configuración, mostramos el valor mínimo y máximo para cada zona geográfica.
4.2.1.2 Evolución del indicador
El siguiente campo calculado que vamos a crear comparará el valor de C.1.1 de un año con el del año pasado y devolverá una variable binaria que asignaremos al canal de Color
.
// ¿Crece? -1 C11
IF
ZN([C.1.1]) - LOOKUP(ZN([C.1.1]), -1) > 0
THEN "Crece"
ELSE "Decrece"
END
Para cada celda, la fórmula compara el valor con el anterior (lookup -1), y si es mayor que 0 el campo nos indicará que el indicador a crecido.
Asignamos ¿Crece? -1 C11
a Color
y comprobamos que el cálculo de tabla se está realizando (Tabla) A lo largo
.
Finalmente, asignamos manualmente unos colores más adecuados para destacar más fácilmente las marcas, y modificamos el tamaño y el modo de visualización de la vista.
Destacar las marcas (GIF, 560 KB)
4.2.1.3 Campo calculado para saber si un año tiene datos para todos los meses
Tal y como hemos configurado el gráfico hasta el momento puede llevarnos a realizar interpretaciones incorrectas, ya que no disponemos de todos los datos mensuales de 2019, por lo que no podemos comparar este año con 2018 en igualdad de condiciones.
Para evitar esta confusión, vamos a crear un campo calculado que nos indicará si un año determinado tiene datos para todos los meses o no.
/// MesesXAño
IF
{ FIXED year([Fecha]) : COUNTD(MONTH([Fecha])) } < 12
THEN "Año incompleto"
ELSE "Año completo"
END
Con la expresión LODE fijamos el cálculo a nivel de año, y para cada año se calcula si cuenta con datos para los 12 meses o no.
Cambiamos del tipo de marca del gráfico a Forma
y asignamos MesesxAños
a forma. Asignamos manualmente la forma de cuadrado relleno para los años completos, y la forma de cuadrado sin relleno a los años imcopletos (en el ejemplo, 2019).
Dejamos el gráfico tal y como está, aunque al integrarlo en el cuadro de mando podremos terminar de realizar ajustes para que todos los elementos se vean correctamente.
4.3 Evolución mensual
El gráfico con la evolución mensual es muy similar al gráfico con la evolución interanual, por lo que duplicaremos esta vista para ahorrarnos trabajo.
Modificamos las columnas, para mostrar MES(Fecha)
de forma continua (queremos obtener todos los meses disponibles en el conjunto de datos).
A continuación, realizamos las siguientes modificaciones:
- Eliminamos
MesesXAños
(cada uno de los meses está completo, por lo que en este gráfico no tiene sentido crear marcas distintas). - Duplicamos
C.1.1
y lo llevamos aTamaño
. - Seleccionamos el tipo de marca
Círculo
. - Modificamos el tamaño constante para que sea algo mayor.
- Modificamos la posición de la etiqueta, para que se muestre encima de los círculos y sea más legible.
Modificar la posición de la etiqueta (GIF, 751 KB)
Tal y como hemos configurado este gráfico podemos observar unos patrones estacionales que en el caso de unas zonas son mas marcadas que en otras. Por ejemplo, en el caso de Donostia / San Sebastián
se repite este mismo patrón varios años: el indicador crece mensualmente de marzo a agosto, y decrece de septiembre a febrero.
Sin embargo, en el ámbito del análisis de datos turísticos suele ser más habitual comparar cada mes con respecto al mismo mes del año anterior. Para poder obtener ese cálculo necesitamos realizar una modificación mínima al campo ¿Crece? - 1 C11
. Pero si editamos directamente este campo calculado el nuevo cálculo afectará también a la gráfica anual, por lo que vamos a duplicar el campo calculado y editar la copia.
// ¿Crece? - 12 C11
IF
ZN([C.1.1]) - LOOKUP(ZN([C.1.1]), -12) > 0
THEN "Crece"
ELSE "Decrece"
END
Como vemos, ahora cada marca no se va a comparar con la anterior, sino con la que está 12 posiciones a la izquierda (es decir, el mismo mes del año anterior). Reemplazamos el campo ¿Crece? - 1 C11
con el nuevo campo ¿Crece? - 12 C11
y volvemos a asignar los colores manualmente.
Reemplazar el campo y asignar el color en Tableau (GIF, 897 KB)
El patrón que observamos ahora para Donostia / San Sebastián
es distinto. Desde 2012, el indicador ha crecido en prácticamente todos los meses con respecto al mismo mes del año anterior (con algunas excepciones, principalmente en 2017 ).
4.4 Barras con datos del último año
Para poder comparar las zonas geográficas de una forma más simple, vamos a centrarnos en los datos del último año y vamos a mostrar el indicador a modo de gráfica de barras.
Configuramos el gráfico de esta forma:
- Columnas:
C.1.1
- Filas:
Zona geográfica Corregida
- Color:
Zona geográfica Corregida
- Texto:
C.1.1
Ordenamos las barras de mayor a menor.
Para obtener únicamente los datos del último año añadimos un filtro y lo configuramos para que muestre sólo datos del último año:
- Llevamos
Fecha
a filtros - Seleccionamos la opción
Fecha relativa
- En la nueva ventana, seleccionamos
Años
yÉste año
.
5. Montar el cuadro de mandos
Una vez que tenemos las vistas preparadas, podemos empezar a montar y configurar el cuadro de mando.
5.1 Maquetación
Seleccionamos el tamaño automático
y traemos las vistas creadas al cuadro de mando en el orden en el que se muestra en la animación (podemos acceder directamente a una de las vistas por si tenemos que hacer algún tipo de modificación).
Podemos modificar el tamaño de las vistas tirando de los extremos. Vamos a dejar algo más de espacio a los gráficos con información temporal.
Modificar el tampo de las vistas en Tableau (GIF, 537 KB)
Para aprovechar el espacio en pantalla, vamos a eliminar todas las leyendas (más adelante añadiremos una pequeña explicación textual).
5.1.1 Cuadro de texto
Además de gráficos propiapiamente dichos, podemos añadir otra serie de elementos al cuadro de mando. Uno de esos elementos es el objeto Texto
, que nos permite introducir información textual (en nuestro caso, información sobre el procedimiento seguido para crear el cuadro de mando).
Añadir text al cuadro de mando en Tableau (GIF, 2 MB)
5.2 Acciones
Como hemos indicado al principio del ejercicio, el mapa tiene que servir para filtrar las zonas geográficas en el resto de los gráficos. Para obtener esta funcionalidad, tenemos que crear una acción de filtro
.
Dashboard > Acciones...
y añadimos una nueva acción de filtro.
Las acciones de filtro constan de estos elementos:
- Gráfico/s que va/n a ejecutar la acción cuando el usuario seleccione una o más marcas
- Tipo de interacción que va a ejecutar la acción
- Gráficos en los que se va a aplicar el filtro
- Qué pasa cuando la selección desaparece
- Campos que van a filtrarse (por defecto, todos los que coincidan entre la vista originadora y las vistas destino).
Configuramos nuestra acción de esta forma:
- La acción se ejecutará cuando se seleccione al menos una zona en el mapa (pero no en el resto de las vistas)
- La acción se ejecutará sobre el resto de los gráficos (pero no sobre el mapa mismo). Además, al deseleccionar la/s zona/s, se excluirán todos los valores.
- Como estamos trabajando con un data blending, conviene identificar exactamente los campos que van a interactuar (aunque en este ejemplo no es estrictamente necesario).
Una vez que apliquemos el filtro, al seleccionar una o varias zonas en el mapa, el resto de los gráficos filtrarán dichas zonas; y al deshacer la selección, no se mostrará ninguna zona.
Seleccionar una o varias zonas en el mapa y deshacer la selección en Tableau (GIF, 783 KB)
5.3 Parámetro para seleccionar el indicador
Hasta este momento hemos trabajado únicamente con el indicador C.1.1
, pero podemos usar también el indicador C.1.3
(que aún no hemos creado).
Una vez hayamos calculado el nuevo indicador, tenemos que pensar cómo integrarlo en el cuadro de mando. Una opción consistiría en duplicar los gráficos y cambiar el indicador en cada uno de ellos, pero esta opción crearía un cuadro de mandos demasiado abigarrado.
La técnica que vamos a aplicar consiste en crear un parámetro para permitir al usuario elegir el indicador que quiere analizar, y usar el valor del parámetro para actualizar los gráficos de acuerdo al valor seleccionado.
En primer lugar, creamos el campo calculado C.1.3
duplicando C.1.1.
y cambiando las pernoctaciones por las plazas ofertadas.
A continuación, creamos el parámetro con la siguiente configuración:
- Tipo de dato:
Cadena
- Valores permitidos:
Lista
Creamos una opción para cada indicador.
Para que el parámetro funcione, tenemos que crear un nuevo campo calculado que devuelva los datos de uno u otro indicador dependiendo del valor del parámetro.
// Indicador seleccionado
CASE [Selecciona el indicador que quieres analizar]
WHEN "C11" THEN [C.1.1]
WHEN "C13" THEN [C.1.3]
END
Tenemos que reemplazar la píldora C.1.1
por Indicador seleccionado
en todos los gráficos en los que se esté utilizando.
Finalmente, añadimos el control de parámetro al cuadro de mando, desde la opción de menú Analizar > Parámetros
. y lo situamos en la zona superior del cuadro de mando.
Añadir el control de parámetro al cuadro de mando en Tableau (GIF, 2 MB)
Ejercicios
-
Crear uno o más gráficos que puedan permitir al usuario observar si hay o no hay desestacionalización con respecto al indicador C.1.1, e integrarlos en el cuadro de mando.
-
Permitir al usuario la posibilidad de seleccionar cómo tienen que compararse los meses (con respecto al anterior, o con respecto al mismo mes del año anterior).
-
Elaborar una infografía (en Tableau) sobre la evolución del indicador C.1.1 en una o más zonas geográficas de interés.
Posibles mejoras
Cómo hemos indicado al inicio de este documento, el objetivo de este ejercicio era crear un cuadro de mando que nos ofreciera una vista general de la evolución de dos indicadores de presión turística. Sin embargo, esta no es más que una posible solución, que podemos modificar añadiendo otros criterios y/o necesidades de información:
- ¿Cómo podríamos comparar los dos indicadores de forma simultánea?
- ¿Pueden otros gráficos mostrar la misma información de forma más directa?
- ¿Cómo podemos ofrecer a los/as usuarios/as la posibilidad de seleccionar el criterio utilizado para asignar color en el gráfico mensual?
- A partir de esta información genérica, ¿cómo podemos ofrecer un mayor nivel de detalle?