Tutorial Tableau 02. Profundizar en Tableau Desktop

Herramientas: Tableau

Este documento es un complemento a las sesiones que imparto sobre visualización de datos y analítica visual, y en ningún caso pretende ser un manual comprehensivo sobre Tableau.

Introducción

Este ejercicio es una continuación del ejercicio de introducción a Tableau. Para profundizar en las tripas y funcionalidades de Tableau, partiremos de los conceptos analizados en las sesiones teóricas:

Fuente de datos

Para este ejercicio vamos a utilizar un conjunto de datos sobre el uso de Bicicletas en Los Ángeles, disponible en Kaggle.com.

La versión del archivo utilizada en este ejercicio fue descargada el 06/09/2018, y contiene los Trip IDs de 1912818 (07/07/2016) a 2379418 (31/03/2017). Si a la hora de seguir los pasos indicados en tu ordenador obtienes resultados distintos, puede deberse a que estés usando una versión distinta del dataset.

NOTA: este ejercicio parte de las acciones de ETL ya explicadas y aplicadas en el ejercicio 1.

EJEMPLO 1: Mantenimiento de bicicletas: tiempo de uso acumulado

Operacionalización

Ejemplo

Para realizar los siguientes ejercicios vamos a suponer que somos la empresa adjudicataria del servicio de bicicletas de LA, y que tenemos que organizar el mantenimiento de las bicicletas.

De cara a poder realizar un mantenimiento proactivo de las bicicletas (antes de que tengan averías por el uso continuado), tenemos que ser capaces de indentificar aquellas que puedan necesitar una revisión.

Pregunta ¿Qué bicicletas necesitan una revisión?

  • Objeto: bicicletas
  • Acción: identificar
  • Medida: necesita revisión (sí/no)
  • Agrupación: bicicletas que necesitan revisión frente a bicicletas que no la necesitan.

¿Podemos obtener esta métrica de los datos? No en nuestro dataset, por lo que necesitamos crear algún indicador que os permita acercarnos a esa realidad.

Pregunta ¿Cuándo necesita una bicicleta revisión?

  • Objeto: bicicletas
  • Acción:identificar
  • Medida: acumulación de uso
  • Agrupación: bicicletas que necesitan revisión frente a bicicletas que no la necesitan.

¿Podemos obtener esta métrica de los datos? Sí, podemos usar como indicador el tiempo de uso acumulado.

Con los datos de los que disponemos, podríamos redefinir la medida:

  • Medida: acumulación de horas uso
¿Nos interesaría definir otro indicador? ¿Qué tal distancia recorrida (que puede resultar más adecuado por ejemplo para cambiar cubiertas)? Con los datos de los que disponemos no podemos obtener esta medida de forma directa. ¿Lo podemos computar? No directamente, sólo podremos obtener distancias euclideas (línea recta entre dos puntos), no reales, ya que para cada trayecto únicamente disponemos de la información del punto de inicio y del punto final. A falta de más datos, tendremos que sopesar si nos interesa calcular este indicador o nos basta con el tiempo de uso como proxy. (ver ejercicio 03, Análisis espacial con Tableau).
El gráfico tiene demasiado detalle como para resultar útil

Vídeo “Turning questions into answers with Tableau”

Añadir información estadística: pestaña Análisis

Observamos que tenemos demasiadas marcas (más de 750 bicicletas), por lo que necesitamos refinar la gráfica a fin de poder facilitar su análisis. De las técnicas que se han mencionado para facilitar el análisis, las que podrían aportar algo en este caso son:

  • Añadir algún resumen estadístico, como la media de tiempo de uso por bicicleta. Tableau dispone de varias funcionalidades para añadir información estadística a una gráfica. En este caso, seleccionaremos Línea de promedio y la configuraremos para que muestre el promedio de la tabla completa.
Herramienta Análisis > Línea de promedio

La nueva gráfica muestra ahora las bicicletas que tienen un uso acumulado mayor o menor a la media.

Gráfica con información estadística añadida

Establecer un umbral para decidir si una bici ha de pasar por mantenimiento

En cualquier caso caso, la gráfica sigue mostrando todas las bicicletas, y nos interesa destacar y/o filtrar únicamente las que necesitan mantenimiento. Para ello, podemos establecer un umbral (threshold) en el tiempo de uso acumulado de las bicis. A la hora de definir dicho umbral, podemos utilizar la media como punto de comparación, de tal forma que las bicicletas que tengan un uso superior a la media sean marcadas para revisión.

// Revisar si uso mayor que la media
IF
    SUM([DuracionCalculadaMinutos]) > AVG([DuracionCalculadaMinutos]) THEN "Revisar"
    ELSE "No revisar"
END

Si aplicamos el la nueva dimensión al canal del color, veremos que algo no ha ido bien, ya que no distingue correctamente los valores por encima y por debajo de la media.

El nivel de agregación del campo calculado no es correcto en la gráfica inferior

Combinar distintos niveles de agregación de datos: Expresiones de nivel de detalle

Ejemplo paso a paso

Esto se debe a que queremos utilizar medidas calculadas a partir de distintos grados de agregación en la vista. La fórmula, tal y como está definida, no indica ninguna dimensión, por lo que a la hora de hacer los cálculos Tableau utiliza el nivel de detalle de la vista, que viene dado por la dimensión Bike ID.

Por tanto, lo que hace nuestra fórmula es sumar todas las duraciones de cada bicicleta, y dividirlas por la media de las duraciones de cada bicicleta, no de la media de uso acumulado por bicicleta. La duración media de trayecto de cada bicicleta va a ser siempre inferior a la suma de la duración de todos sus trayectos, y por eso aparecen todas marcadas como No revisar.

Para poder obtener este valor, tendremos que ir más allá del nivel de detalle de la vista, para lo que necesitaremos una expresión de nivel de detalle. Este tipo de fórmulas permiten combinar distintos niveles de detalle en una única vista.

Las expresiones de detalle tienen esta composición:

  • Tipo de expresión: Fixed, Exclude o Include
    • Fixed: el cálculo sólo toma en consideración las dimensiones explicitamente declaradas dentro de la expresión.
    • Exclude: el cálculo excluye las dimensiones declaradas en la expresión, si es que estám presentes en la vista (sirve para restar granularidad al cálculo).
    • Include: el cálculo incluye las dimensiones declaradas en la expresión, si es que no estám presentes en la vista (sirve para añadir granularidad al cálculo).
  • Dimensiones a tener en consideración
  • Agregación

Y tienen esta sintáxis:

{FIXED [dimension1],[dimension2] : SUM([medida])}

Las expresiones de nivel de detalle van envueltas por los signos { y }. En primer lugar, indicamos el tipo de expresión de la que se trata. En segundo lugar, la(s) dimensión(es) a tener en cuenta, separadas por comas en el caso de que usemos más de una; finalmente, y después del signo :, indicamos la fórmula de agregación de medidas.

Las expresiones de nivel de detalle son una funcionalidad de conocimiento imprescindibe para poder crear gráficas avanzadas en Tableau, pero su aprendizaje excede el propósito de este ejercicio. En la web de Tableau hay recursos para profundizar en esta funcionalidad: “Comprensión de las expresiones de nivel de detalle (LOD) “, “Las 15 expresiones LOD principales”

Para nuestro ejemplo, necesitamos una expresión de detalle que compute primero la suma de la duración de uso por cada bicicleta, y después obtenga la media del uso acumulado de todas bicletas, independientemente de las dimensiones que se estén usando en la vista.

// Media de uso por bicis (en minutos)

AVG({ fixed [Bike ID] : SUM([DuracionCalculadaMinutos])})

Sin embargo, como hemos indicado, necesitamos que el cálculo se realice independientemente de la dimensión Bike ID, por lo que utilizaremos esta expresión anidada:

// Media de uso por bicis (en minutos)
MIN({ EXCLUDE [Bike ID] :
    AVG({ fixed [Bike ID] : SUM([DuracionCalculadaMinutos])})
    }
)

Una vez que tenemos la medida que nos interesa, podemos usarla para calcular si cada bicicleta excede o no el valor de dicha medida:

// Revisar (con LOD)
IF
    SUM([DuracionCalculadaMinutos]) > ([Media de uso por bicis]) THEN "Revisar"
    ELSE "No revisar"
END

La nueva variable calculada ya funciona correctamente

En cualquier caso, todavía tenemos demasiadas bicicletas para revisar, por lo que podemos modificar el cálculo del úmbral para que sea más exigente:

// Revisar
IF
    SUM([DuracionCalculadaMinutos]) > ([Media de uso por bicis]) * 2 THEN "Revisar"
    ELSE "No revisar"
END

Revisar bicis que dupliquen la media de uso

Vídeos de la TC18

Añadir interactividad: parámetros de usuario

En el paso anterior hemos indicado en el código una constante (2) que nos permite poner el umbral de las bicis a revisar más alto. Sin embargo, lo adecuado sería permitir al usuario que indique dicha constante. Para ello tenemos que seguir estos pasos:

  • Crear un parámetro que el usuario pueda modificar
Diálogo de configuración de parámetro
  • Añadir el parámetro a dla vista.
Añadir parámetro a la vista
  • Actualizar la fórmula para sustituir el 2 por el parámetro con el valor indicado por el usuario.
// Revisar
IF
    SUM([DuracionCalculadaMinutos]) > ([Media de uso por bicis]) * [Media de uso por X] THEN "Revisar"
    ELSE "No revisar"
END

En la siguiente animación podemos observar el parámetro en funcionamiento:

Parámetro en funcionamiento

Simplificar la gráfica: filtrar resultados

Finalmente, y para simplificar la vista, podemos filtrar las marcas para mostrar únicamente las bicis que tienen que pasar por taller. Para ello, usaremos la pestaña Filtros.

En nuestro ejemplo, llevaremos la píldora Revisar al estante Filtros, y lo configuraremos de tal forma que solo se muestren las bicicletas que tienen que pasar por revisión.

Diálogo de configuración de un filtro para una dimensión
El diálogo de configuración de un filtro variará dependiendo del tipo de variable: discreta, contínua, fecha…

Para pensar: ¿qué pasa con la línea de promedio?

Si variamos el umbral de revisión una vez aplicado el filtro, observamos que la línea de promedio va cambiando. ¿A qué se debe esto? ¿Y cómo podríamos solucionarlo?

Colofón

Tableau tiene un inconveniente con respecto a otras herramientas como R/ggplot2. Y es que al ser una herramienta propietaria y con gran peso en la interacción a través de componentes gráficos, al terminar nuestro trabajo no disponemos de un script que podamos analizar paso a paso.

Sin embargo, podemos usar la funcionalidad Hoja de trabajo > Describir hoja (atajo de teclado: Ctrl + E) para saber cómo está configurada una vista.

Descrición de nuestra hoja de trabajo o vista

Esta funcionalidad es muy útil a la hora de hacer ingeniería inversa de ejemplos de Tableau creados por otras personas.

Posibles mejoras

El Número de registros suma todos los trayectos del año para cada biciclreta, pero a lo largo de un año puede haber muchos altibajos de uso. Quizá sería más adecuado tener en cuenta únicamente el uso acumulado durante un tiempo determinado, por ejemplo el último mes contando desde la fecha en la que se consultan los datos.

EJEMPLO 2: Mantenimiento de bicicletas: días sin ser usadas

Operacionalización

En este ejemplo vamos a utilizar otro indicador para detectar bicicletas que pueden necesitar pasar por revisión. En este caso, nos fijaremos en el tiempo que llevan sin ser usadas, ya que puede ser un indicador de que tienen algún problema, y por eso los usuarios no las utilizan para sus trayectos.

Pregunta ¿Cuándo necesita una bicicleta revisión?

  • Objeto: bicicletas
  • Acción:identificar
  • Medida: no usada en los últimos X días
  • Agrupación: bicicletas que necesitan revisión frente a bicicletas que no la necesitan.

Como en el ejemplo anterior, primero tenemos que calcular el último día en el que se usó cada bicicleta, y luego comparar esa fechs con una fecha concreta para obtener la métrica no usada en los últimos X días.

Calcular métrica días sin usar

Para calcular esta métrica podemos usar la función datediff(), a la que le tenemos que pasar dos fechas:

  • Último día en el que se ha usado cada bicicleta: podemos obtener este dato gracias a la variable End Time. Tenemos que obtener el valor mayor para esta variable.

  • Día con el que comparar. En una base de datos que siguiera actualizándose, podríamos usar la función now(). En este caso, los datos solo llegan hasta abril de 2017, por lo que queremos obtener la fecha mayor de toda la base de datos en la variable End Date.

  • El último (en realidad primer) parámetro que le tenemos que pasar a datediff() es la unidad de fecha, que en nuestro caso será day.

Volvemos a tener un caso de distinto nivel de agregación en las fechas que hay que comparar (una por cada bici frente a la misma para todas las bicis), por lo que necesitamos usar expresiones de nivel de detalle.

// Días sin usar

DATEDIFF('day',
    MIN({ FIXED [Bike ID] : MAX([End Time])}),
    MAX({ EXCLUDE [Bike ID] : MAX([End Time])}))

Para comprobar que el cálculo es correcto, podemos mostrar cada una de las fechas en el tooltip, modificando la píldora End Time con estas dos fórmulas:

// Para la última fecha en la que se ha usado una bici

MAX([End Time])
// Para la fecha más alta de toda la BD

max({exclude [Bike ID] : max([End Time])})
Bicicletas ordenadas por días sin ser usadas, con tooltip a la vista para poder comprobar que el cálculo es correcto.

Colofón

Una vez llegados a este punto, podemos utilizar las técnicas trabajadas en el ejemplo anterior para permitir al usuario indicar el valor de la X de la métrica no usada en los últimos X días que hemos definido en la operacionalización a través de un parámetro.

EJEMPLO 3: Movilidad municipal: estacionalidad del uso de la bicicleta

Operacionalización

Para este ejemplo, vamos a considerar que trabajamos para el departamento de movilidad de L.A. y que de cara a elaborar diversos planes de actuación (mantenimiento, campañas de fomento…) queremos detectar patrones de uso temporales a distintos niveles, para decidir qué momento es mejor para llevar a cabo cada plan. Por ejemplo:

  • Meses del año
  • Días de la semana
  • Horas del día

Pregunta ¿Cuál es la mejor época del año para realizar un mantenimiento masivo?

  • Objeto: trayectos en bicicleta
  • Acción:identificar
  • Medida: cantidad de trayectos
  • Agrupación: meses de pocos trayectos

Como podemos acceder directamente tanto a la medida cantidad de trayectos como al nivel de agrupación gracias a las variables de las que disponemos, vamos a empezar con una visualización simple para intentar detectar patrones temporales.

Visualización simple: timeline

Tiempo como valor discreto o como valor contínuo

Como ya se ha comentado en el curso, las variables de tipo fecha o fecha y hora reciben un tratamiento especial, ya que pueden ser tratadas como discretas o como contínuas.

Seleccionar el tipo (discreto o contínuo) y el nivel (año, més, trimestre, día…) de un campo de tipo fecha o fecha y hora.

Para comprender la diferencia entre los dos tratamientos, y cómo puede afectar este hecho a nuestro análisis, vamos a revisar dos gráficas en las que la única diferencia es que en la primera la unidad de tiempo mes está tratada como valor discreto, mientras que en la segunda se considera que es un valor contínuo.

Timeline con los meses como variable discreta
Timeline con los meses como variable contínua

Podemos ver a simple vista que las líneas no coinciden. Si nos fijamos mejor, observamos que en la primera los meses van de Enero a Diciembre, mientras que en la segunda van de julio 2016 a abril 2017. Esto se debe a que cuando consideramos los meses como una variable discreta, los posibles valores son los que van de enero a diciembre, y no se tiene en cuenta ningún otro aspecto (en este caso, el año). Mientras que si consideramos los meses como una variable contínua, obtenemos el timeline que esperaríamos a priori.

En el caso de que tuvieramos datos tanto para enero 2016 como para enero 2017, al ver el mes como una variable discreta Tableau agregaría todos los datos para el mes de enero, que aparecería una única vez en la gráfica, mientras que si se considera cómo variable contínua, enero 2016 y enero 2017 jamás se agregarán, al tratarse de valores distintos.

En la primera gráfica, la representación con una línea contínua nos llevaría a pensar que tenemos datos de enero a febrero, pero esto no es del todo cierto, ya que en los datos de los que disponemos los meses están divididos en años distintos: de julio a diciembre tenemos datos para el año 2017, mientras que de enero a abril tenemos datos para 2017.

Más adelante veremos otros ejemplos en los que tiene sentido tratar la fecha como una variable discreta.

Valores faltantes

Si nos detenemos de nuevo a observar la segunda gráfica (meses contínuos), observamos también que no tenemos datos para los meses de mayo y junio (para ninguno de los años). Sin embargo, en la primera gráfica da la impresión de que sí que los hay, ya que la línea va ascendiendo de abril a agosto.

Para realizar un análisis correcto de estos datos, tenemos que marcar la opción Mostrar valores faltantes para forzar a Tableau a que muestre todos los meses, incluso aunque no disponga de datos (en cuyo caso, se corta la línea; en abril SÍ que hay datos, aunque la suma de registros sea mínima comparándola con la de otros meses; por eso la línea desciende casi hasta cero).

Marcar la opción Mostrar valores faltantes cuando tratamos una fecha como variable discreta nos ayudará a hacer una interpretación correcta en el caso de que haya ausencia de datos.
La gráfica con todos los meses, incluso los que no tienen datos

Análisis

Al no poder hacer una comparativa interanual por falta de datos, usaremos la gráfica que muestra los meses como variable contínua para identificar los meses con menos trayectos. Dichos meses son diciembre, enero y febrero, por lo que nuestra recomendación sería realizar el mantenimiento masivo en esos meses.

Descripción de la hoja

Cruzar dos niveles temporales para detectar patrones más complejos: Heatmap

Pregunta ¿Cuál es la mejor época del año para realizar un mantenimiento masivo?

  • Objeto: épocas
  • Acción:identificar
  • Medida: cantidad de trayectos
  • Agrupación: épocas de pocos trayectos frente a épocas de muchos trayectos

Evidentemente, lo primero que deberíamos hacer es definir qué entendemos por épocas y por pocos trayectos. En este caso, concretaremos en detalle lo que consideramos época a través de un porceso iterativo de EDA, en el que combinaremos distintos niveles de detalle temporal hasta quedarnos con el/los m+as útiles para detectar patrones.

Si recordamos el ejemplo de idiom de Munzner, sabemos que en una gráfica de tipo heatmap cruzamos dos variables categóricas y rellenamos las intersecciones de color a partir de una variable cuantitativa.

En el caso de las variables tipo fechao fecha y hora podemos cruzar una variable consigo misma, si las consideramos como discretas y tenemos al menos dos niveles de detalle (si sólo contamos con el año, por ejemplo, no podemos usar esta técnica).

Si cruzamos End time a nivel de mes con End time a nivel de día del mes, y asignamos el número de registros (que equivale al número de trayectos) obtenemos la siguiente gráfica:

Heatmap que cruza meses con días del mes

Sin embargo, como hemos indicado en el ejercicio anterior, esta gráfica tiene dos errores que ofuscarán nuestro análisis.

  • No tenemos datos para todos los meses en más de un año
  • Hay meses de los que no tenemos datos.

Si añadimos la dimensión End time a nivel de año e indicamos a Tableau que tiene que mostrar los valores faltantes, obtenemos esta otra gráfica:

El heatmap corregido
NOTA: al ordenar los meses primero por años, en este caso no es necesario marcar Mostrar valores faltantes, aunque como medida preventiva conviene marcarlo siempre que trabajemos con fechas discretas.

Analizando la gráfica podemos sacar las siguientes conclusiones:

  • No parece haber patrones claramente definidos (que tengan en cuenta los dos niveles temporales).
  • Si nos fijamos solo en un nivel (mes), agosto es el mes con más trayectos, mientras diciembre o enero parecen ser los meses con menos trayectos (aunque hay algún outlier, como el 21 de enero). En cualquier caso, ya habíamos llegado a esta conclusión con una gráfica más simple en el ejercicio anterior.

Sin embargo, podemos considerar que una de las variables que hemos usado para crear esta visualización (que nos tiene que ayudar a detectar patrones), no es útil. A fin de cuentas, el día del mes no tiene un “significado” especial, ya que van variando con respecto al día de la semana, por ejemplo (esto no quiere decir que el día del més no sea un nivel de interés en el análisis de patrones temporales; si estuviéramos tratando con datos de banca o de nóminas de una empresa, los últimos días de mes, o los primeros, tienden a aglutinar movimientos específicos: pago de nóminas, pago de alquileres, pago de pensiones… que puede hacer que este nivel de fecha sí resulte interesante en el análisis de los datos).

Heatmap a otro nivel de detalle

En este paso vamos a usar la misma técnica que hemos utilizado en el ejemplo anterior pero cambiando el nivel de detalle temporal. Ahora nos vamos a fijar en los días de la semana y en las horas del día, para ver si hay horas que concentran más trayectos, y si estas horas de tráfico intenso se repiten a lo largo de los distintos días de la semana.

Pregunta ¿Existen diferencias en los patrones de uso horario a lo largo de los días de la semana?

  • Objeto: trayectos en bicicleta
  • Acción:identificar concentraciones
  • Medida: cantidad de trayectos
  • Agrupación: dias de la semana, horas del día
Heatmap de días de la semana por horas del día. Las anotaciones son manuales.

Las anotaciones manuales que hemos marcado destacan patrones de mayor número de trayectos en bicicleta. Podemos observar que de lunes a viernes hay tres franjas horarias que concentran más trayectos (y que coinciden con la entrada al trabajo, descanso y fin de la jornada laboral, grosso modo), mientras que los fines de semanas los trayectos se concentran entre el mediodía y media tarde.

En menor medida, también destacan las primeras y últimas horas de viernes a domingo.

Heatmaps avanzados: campos calculados y cálculos de tabla

Ejemplo paso a paso

Pregunta ¿Existen diferencias en los patrones de uso horario entre días laborales y fines de semana?

  • Objeto: trayectos en bicicleta
  • Acción:identificar concentraciones
  • Medida: cantidad de trayectos
  • Agrupación: dias laborales frente a fin de semana, horas del día

Tableau nos permite indicar fácilmente la hora del día de un campo fecha y hora, pero no ocurre lo mismo con el caso de discriminar si una fecha es fin de semana o no. Sin embargo, este dato es fácil de obtener a través de un nuevo campo calculado:

// Fin de semana

IF DATEPART('iso-weekday',[End Time]) > 5 THEN "Fin de semana"
ELSE "Laboral" END

Una vez creado el campo calculado, crear el heatmap no tiene misterio a estas alturas.

Acumulación de trayectos por horas del día, días laborales frente a fines de semana

Aunque el patrón que hemos detectado en iteraciones anteriores con respecto a los días laborales sigue siendo identificable (a saber, tres tramos de concentración de trayectos), no queda tan claro en el caso de los fines de semana.

Esto se debe a que al crear el campo calculado, clase Laboral puede recibir 5/7 días, mientras que Fin de semana solo recibe 2/7. Cuando Tableau asigna los colores, lo hace teniendo en cuenta dos parámetros:

Para comprender mejor cómo afectan los cálculos de tabla a los datos que se muestran en la vista, vamos a duplicar la píldora Número de registros en estos dos canales: color y texto. Vamos a dejar la píldora de color sin modificar, mientras que aplicaremos los nuevos cálculos de tabla a la pildora asignada al texto.

Para cambiar el cálculo de tabla que aplica Tableau por defecto, tenemos que acceder desde el desplegable de la píldora de la medida sobre la que queremos aplicar el nuevo cálculo de tabla.

Diálogo de acceso a los Cálculos de tabla rápidos
Cálculo de tabla rápido: porcentaje del total

Para empezar, vamos a aplicar el cálculo de tabla Porcentaje del total. Si nos fijamos en las horas centrales del día, observaremos que los valores no coinciden con la intensidad de color. Por ejemplo, a las 12 y a las 13 los fines de semana suponen un mayor porcentaje del total, y sin embargo el color es menos intenso.

Una vez aplicado el cálculo de tabla únicamente a una píldora las cifras y la intensidad de color discrepan

Para entender mejor el cálculo de tabla, vamos a echar un vistazo al editor (para facilitar esta tarea, conviene tener marcada la opción Mostrar ayuda de cálculo, que nos muestra los efectos de la configuración sobre nuestra vista):

Diálogo Editar cálculo de tabla

Las opciones de configuración son:

  • Tipo de cálculo (dependiendo del tipo seleccionado pueden aparecer nuevas opciones de configuración).
  • Calcular usando: indica la direccionalidad en la que se van aplicando los cálculos.

En nuestro ejemplo, aunque hemos indicado Porcentaje del total, el porcentaje se calcula usando Tabla a lo largo (valor por defecto), por lo que los cálculos se reinician en cada nueva fila de la tabla. Sin embargo, en nuestro caso es precisamente el tipo de cálculo que necesitamos, ya que de esa forma ponderamos los valores de Laboral y Fin de semana.

Para poder corregir nuestra gráfica, tenemos que aplicar este mismo cálculo de tabla a la píldora asignada al canal de color.

Heatmap original, con asignación de colores incorrecta
Heatmap con la asignación de colores corregida

Vídeos de la TC18

Colofón

Podemos aprovechar la variable Fin de semana que hemos creado a lo largo de estos ejemplos para crear una visualización complementaria y compararlas para verificar que las conclusiones del análisis son iguales en ambos casos.

Heatmap
Timeline

EJEMPLO 4: predicciones temporales

Ejemplo paso a paso

Tableau nos ofrece la posibilidad de crear modelos de predicción a partir de datos temporales. Para probar esta funcionalidad vamos a crear un timeline sencillo.

  • Llevamos Start Time (valor contínuo) a columnas.
  • Llevamos Número de registros a filas.

De esta forma, obtenemos un timeline que muestra el número de trayectos por día.

Timeline base

Una vez disponemos del timeline que servirá para hacer las predicciones, hacemos doble click sobre la función Pronóstico de la pestaña Análisis.

Si hacemos click en al línea de pronóstico y selecionamos la opción Editar, Tableau nos mostrará la ventana Opciones de pronóstico, en la que podremos configurar varios parámetros del modelo de predicción.

Opciones de configuración del modelo de predicción

Además del modelo de predicción, podemos añadir información de otros modelos, como el modelo lineal (Línea de tendencia).

Opciones de configuración del modelo de lineal
Timeline con los modelos de predicción y polinómico a la vista

Vídeos de la TC18

Otros ejemplos


Más posts