Tutorial Tableau 06. Optimización
Herramientas: Tableau
Unir datos de fuentes diversas
Tipos de uniones
Unión de columnas (join)
Los datos que analiza en Tableau suelen componerse de una colección de tablas que se relacionan mediante campos específicos (columnas). La Unión es un método para combinar los datos relacionados en esos campos comunes. El resultado de combinar los datos usando una Unión es una tabla virtual que normalmente se extiende horizontalmente añadiendo columnas de datos.
Tipos de join:
- Interna
-
Izquierda / Derecha (left y right en la imagen de R4DS): son el mismo tipo de Unión.
-
Externa completa (full en la imagen de R4DS)
- Unión: ver Unión de filas
Más información en la ayuda de Tableau: “Combinar datos” (join, Unión de columnas)
Unión de columnas (blend)
La Combinación de datos (blend) es un método de Combinación que agrega a una tabla de datos procedentes de una fuente de datos columnas de datos de otra fuente de datos. Normalmente se utilizan las combinaciones (join) para llevar a cabo este tipo de relaci?n de datos, pero a veces, dependiendo de factores como el tipo de datos y su granularidad, es mejor utilizar la Combinación de datos (blend).
“La Combinación de datos simula una Combinación izquierda tradicional. La diferencia principal es el momento en el que se efectúa la Combinación con respecto a la agregación”
Cuando combinamos tablas usando blending, las tablas se combinan con una Unión a la izquierda. Sin embargo, hay una diferencia b?sica entre estos dos tipos de operaciones.
- Cuando usa una Combinación izquierda (join) primero se unen los datos, y luego se agregan (lo que crear duplicaciones).
- Cuando usa la Combinación de datos (blend) primero se agregan los datos de todas las fuentes, y luego se unen.
Hay casos especiales en los que es mejor usar blend que join:
- La fuente de datos no permite join
- El nivel de detalle de cada fuente de datos es distintos
- Los datos necesitan limpieza
- Las combinaciones (join) generan datos duplicados
- Hay muchos datos
Más información en la ayuda de Tableau: “Combinar datos” (blending)
Unión de filas (union)
Puede unir los datos para combinar dos o más tablas adjuntando valores (filas) de una tabla a otra. Para poder unir los datos en una fuente de datos de Tableau, las tablas deben proceder de la misma conexión.
Las fuentes de datos a unir pueden estar en varios archivos, o en varias pesta?as de una misma hoja de cálculo, por ejemplo.
Si los nombres de los campos de la Unión no coinciden, los campos contienen valores nulos. Puede combinar los campos que no coincidan en un solo campo mediante la opción de combinar y eliminar así los valores nulos. Cuando se utiliza la opción de combinar, los campos originales se sustituyen por un campo nuevo, en el que se muestra el primer valor que no es nulo para cada fila en los campos no coincidentes.
Más información en la ayuda de Tableau: “Unir los datos” (Unión de filas)
Unión de columnas de archivos espaciales (spatial join)
Desde la versión 2018.2, podemos combinar dos archivos espaciales (uno de puntos y otro de polígonos) sin tener ninguna columna en común, de tal forma que Tableau identifique qué puntos caen dentro de un polígono determinado.
El tipo de Combinación de columnas puede ser cualquiera (interior, izquierda/derecha, exterior), pero la condición a de ser la siguiente:
Geometría (tabla A) <intersects> Geometría (tabla B)
Más información en la ayuda de Tableau: “Unión espacial”
Cuándo usar cada tipo de Unión
Tableau knowledge base: Deciding Between Joining Tables and Blending Data
Ejercicio
- ¿qué tipo de Unión podríamos usar en el dataset de Metro Bike Share para evitar que los datos se dupliquen, pero tener cada punto de inicio/fin en una fila separada?
- Como consecuencia del paso anterior, ¿debemos transformar los datos originales? Si la respuesta es afirmativa, ¿qué estructura tienen que tener cada fuente de datos?
- ¿qué flujos de trabajo ETL deberemos definir para obtener las fuentes de datos?
- La web Metro Bike Share ofrece un dataset con información de las estaciones de bicicletas que contiene las siguientes variables:
Station ID
,Station Name
,Go live date
,Region
yStatus
. ¿qué utilidad puede ofrecernos este dataset? ¿qué tipo de Combinación necesitaríamos para poder usarlo?
Tipos de cálculos
La información de esta sección se ha obtenido de las siguientes fuentes:
- Ayuda de Tableau: “Tipos de cálculos en Tableau”
- Informe de Tableau: “Comprensión de las expresiones de nivel de detalle”
Expresiones básicas
Las expresiones básicas permiten transformar los valores o miembros a nivel de detalle de fuente de datos (un cálculo a nivel de fila) o de visualización (un cálculo agregado).
Cálculos a nivel de fila
SPLIT([Author], '.', 3 )
ID del libro | Título del libro | Serie | Año de publicación | Autor | Apellido del autor |
1 | El león, la bruja y el armario | Las crónicas de Narnia | 1950 | C. S. Lewis | Lewis |
2 | El príncipe Caspio: Regreso a Narnia | Las crónicas de Narnia | 1951 | C. S. Lewis | Lewis |
3 | La travesía del viajero del alba | Las crónicas de Narnia | 1952 | C. S. Lewis | Lewis |
4 | La silla de plata | Las crónicas de Narnia | 1953 | C. S. Lewis | Lewis |
5 | El caballo y el muchacho | Las crónicas de Narnia | 1954 | C. S. Lewis | Lewis |
6 | El sobrino del mago | Las crónicas de Narnia | 1955 | C. S. Lewis | Lewis |
7 | La última batalla | Las crónicas de Narnia | 1956 | C. S. Lewis | Lewis |
8 | Harry Potter y la piedra filosofal | Harry Potter | 1997 | J. K. Rowling | Rowling |
9 | Harry Potter y la cámara secreta | Harry Potter | 1998 | J. K. Rowling | Rowling |
10 | Harry Potter y el prisionero de Azkabán | Harry Potter | 1999 | J. K. Rowling | Rowling |
11 | Harry Potter y el cáliz de fuego | Harry Potter | 2000 | J. K. Rowling | Rowling |
12 | Harry Potter y la Orden del Fénix | Harry Potter | 2003 | J. K. Rowling | Rowling |
13 | Harry Potter y el misterio del príncipe | Harry Potter | 2005 | J. K. Rowling | Rowling |
14 | Harry Potter y las Reliquias de la Muerte | Harry Potter | 2007 | J. K. Rowling | Rowling |
Cálculos agregados
// Número de libros de la serie (nivel de detalle Serie)
COUNT([Series])
Serie | Número de libros de la serie (nivel de detalle Serie) |
Las crónicas de Narnia | 7 |
Las crónicas de Narnia | |
Las crónicas de Narnia | |
Las crónicas de Narnia | |
Las crónicas de Narnia | |
Las crónicas de Narnia | |
Las crónicas de Narnia | |
Harry Potter | 7 |
Harry Potter | |
Harry Potter | |
Harry Potter | |
Harry Potter | |
Harry Potter | |
Harry Potter |
La agregación se hace al nivel de detalle de la vista, y después de aplicar filtros.
Expresiones de nivel de detalle
Las expresiones LOD representan una manera elegante y eficaz de responder preguntas que incluyen múltiples niveles de granularidad en una única visualización. (Aldrige & Walker, 2015, “Comprensión de las expresiones de nivel de detalle”)
INCLUDE
EXCLUDE
FIXED
// Serie publicada
{ FIXED [Series]:(MIN([Year Released]))}
ID del libro | Título del libro | Serie | Año de publicación | Autor | Serie publicada |
1 | El león, la bruja y el armario | Las crónicas de Narnia | 1950 | C. S. Lewis | 1950 |
2 | El príncipe Caspio: Regreso a Narnia | Las crónicas de Narnia | 1951 | C. S. Lewis | 1950 |
3 | La travesía del viajero del alba | Las crónicas de Narnia | 1952 | C. S. Lewis | 1950 |
4 | La silla de plata | Las crónicas de Narnia | 1953 | C. S. Lewis | 1950 |
5 | El caballo y el muchacho | Las crónicas de Narnia | 1954 | C. S. Lewis | 1950 |
6 | El sobrino del mago | Las crónicas de Narnia | 1955 | C. S. Lewis | 1950 |
7 | La última batalla | Las crónicas de Narnia | 1956 | C. S. Lewis | 1950 |
8 | Harry Potter y la piedra filosofal | Harry Potter | 1997 | J. K. Rowling | 1997 |
9 | Harry Potter y la cámara secreta | Harry Potter | 1998 | J. K. Rowling | 1997 |
10 | Harry Potter y el prisionero de Azkabán | Harry Potter | 1999 | J. K. Rowling | 1997 |
11 | Harry Potter y el cáliz de fuego | Harry Potter | 2000 | J. K. Rowling | 1997 |
12 | Harry Potter y la Orden del Fénix | Harry Potter | 2003 | J. K. Rowling | 1997 |
13 | Harry Potter y el misterio del príncipe | Harry Potter | 2005 | J. K. Rowling | 1997 |
14 | Harry Potter y las Reliquias de la Muerte | Harry Potter | 2007 | J. K. Rowling | 1997 |
LODE y filtros
Cálculos de tabla
// Años transcurridos desde el último libro
ATTR([Year Released]) - LOOKUP(ATTR([Year Released]), -1)
En la tabla de ejemplo, las dos primeras subcolumnas de Años transcurridos desde el último libro
muestran los datos necesarios para realizar el cálculo, mientras que la última columna muestra el valor resultante, que es el que podremos usar para marcas gráficas, filtros…
Los cálculos dependen del nivel de detalle de la vista, y de la direccionalidad (addressing) y particionamiento (partitioning) de la tabla.
ID del libro | Título del libro | Serie | Año de publicación | Autor | Años transcurridos desde el último libro | ||
1 | El león, la bruja y el armario | Las crónicas de Narnia | 1950 | C. S. Lewis | NULL | ||
2 | El príncipe Caspio: Regreso a Narnia | Las crónicas de Narnia | 1951 | C. S. Lewis | 1951- | 1950 | 1 |
3 | La travesía del viajero del alba | Las crónicas de Narnia | 1952 | C. S. Lewis | 1952- | 1951 | 1 |
4 | La silla de plata | Las crónicas de Narnia | 1953 | C. S. Lewis | 1953- | 1952 | 1 |
5 | El caballo y el muchacho | Las crónicas de Narnia | 1954 | C. S. Lewis | 1954- | 1953 | 1 |
6 | El sobrino del mago | Las crónicas de Narnia | 1955 | C. S. Lewis | 1955- | 1954 | 1 |
7 | La última batalla | Las crónicas de Narnia | 1956 | C. S. Lewis | 1956- | 1955 | 1 |
8 | Harry Potter y la piedra filosofal | Harry Potter | 1997 | J. K. Rowling | NULL | ||
9 | Harry Potter y la cámara secreta | Harry Potter | 1998 | J. K. Rowling | 1998- | 1997 | 1 |
10 | Harry Potter y el prisionero de Azkabán | Harry Potter | 1999 | J. K. Rowling | 1999- | 1998 | 1 |
11 | Harry Potter y el cáliz de fuego | Harry Potter | 2000 | J. K. Rowling | 2000- | 1999 | 1 |
12 | Harry Potter y la Orden del Fénix | Harry Potter | 2003 | J. K. Rowling | 2003- | 2000 | 3 |
13 | Harry Potter y el misterio del príncipe | Harry Potter | 2005 | J. K. Rowling | 2005- | 2003 | 2 |
14 | Harry Potter y las Reliquias de la Muerte | Harry Potter | 2007 | J. K. Rowling | 2007- | 2005 | 2 |
Más ejemplos: Los 10 cálculos de tablas principales de Tableau
Elegir el tipo de cálculo adecuado
Orden de operaciones y filtros
Optimización
Conceptos
El flujo de trabajo cuando accedermos a una visualización de Tableau es el siguiente:
Los motivos por los que la renderización de una visualización puede ser lenta pueden agruparse en estos niveles: plataforma de los datos, datos propiamente dichos, analítica y representación gráfica. Estos cuatro niveles pueden contemplarse como una pir?mide invertida. En un extremo tendríamos la plataforma, donde la frecuencia de problemas es menor, pero la capacidad para cambiar y corregir algo también es menor; en el otro extremo estaría la representación gráfica, donde la frecuencia de problemas es mayor pero también tenemos más posibilidades de corregir los errores.
Una herramienta indispensable para intentar detectar los cuellos de botella es el registro de rendimiento.
Ayuda > Configuración y rendimiento > Comenzar registro del rendimiento
Al parar el registro de rendimiento Tableau generará un nuevo workbook con un cuadro de mando en el que se ve el tiempo dedicado a distintas tareas: ejecutar consultas, dibujar, geocodificar…
Representación gráfica
Problemas relacionados con el diseño y la interacción de las gráficas y los cuadros de mando (objetos que consumen datos y objetos que no consumen datos): encabezados, ejes, paneles, células, marcas, Títulos, etiquetas, leyendas…
Conviene mantener las gráficas lo más simples posibles:
- Reducir el Número de marcas: no solicitar datos que no se necesitan, no renderizar marcas que no se van a ver (overploting).
- Evitar filtros enumerados de dimensiones de cardinalidad alta
- Algunas marcas llevan más cálculos que otras: los polígonos o algunas gráficas personalizadas (donuts, sankey…) llevan más cálculos que puntos o barras.
- Cuantos más elementos interactivos haya en los cuadros de mando más cómputos tendrá que realizar Tableau.
- Para dimensiones de cardinalidad alta, es mejor crear sets, filtros de comodín (en lugar de cargar toda la lista)…
Análisis
Problemas relacionados con los tipos de datos, filtros, cálculos, trabajar con distintas fuentes de datos…
- Los tipos de datos convertidos conllevan más cómputos.
- Tener en cuenta el orden de las operaciones y aplicación de filtros. Utilizar las variantes de filtros que realicen cálculos más simples.
- En cuanto a la rapidez de cálculo, el tipo de dato influye: Número entero > Número decimal > Fechas, booleanos > Cadenas
- Las expresiones de nivel de detalle pueden conllevar mucha necesidad de cómputo si el dataset es muy grande.
- En el caso de que sea posible, es mejor usar funcionalidades nativas de Tableau sobre cálculos con los que obtendríamos el mismo resultado: grupos, conjuntos, agrupaciones (bins), fechas personalizadas, campos combinados, alias, líneas de referencia y herramientas de analítica.
- Para trabajar con cadenas, mejor utilizar expresiones regulares.
- La Combinación de datos (blending) puede ralentizar las visualizaciones, especialmente con dimensiones de cardinalidad alta.
Datos
Problemas relacionados con la conexión a los datos, combinaciones de datos, extractos…
- Las conexiones nativas de Tableau son más rápidas que las conexiones ODBC.
- Mejor no tener las fuentes de datos en distintos sitios.
- Si nos conectamos a datos remotos, la velocidad de la red puede suponer un problema.
- Intentar no usar consultas SQL personalizadas.
- Intentar que las fuentes de datos ya tengan la estructura adecuada, para que Tableau no tenga que realizar esas tareas.
- Crear extractos: eliminar variables que no se van a usar, agregar los datos, filtrar observaciones, materializar campos calculados…
Plataforma
- Si trabajamos con versiones online/server, monitorizar los servidores.
- Testar las visualizaciones en todos los entornos de producción en los que se vayan a consumir.
- Actualizar siempre como poco a la penúltima versión de Tableau.
Más recursos sobre optimización de cuadernos de trabajo
- 6 tips to make your dashboards more performant
- Informe “Best Practices for Designing Efficient Tableau Workbooks (Third Edition)"
- Materialize Calculations in Your Extracts
Vídeos TC18
Difusión
Flujo de trabajo y difusión
Vídeos TC18
Recursos
- Ayuda de Tableau: “Extraer los datos”
- Ayuda de Tableau: “Libros de trabajo empaquetados”
- Ayuda de Tableau: “Publicar fuentes de datos y libros de trabajo”
- Informe “Implementación de Tableau en toda su organización. ¿Cuál es el producto más adecuado en su caso?": compara las distintas versiones sobre servidor: “online” (en la nube de Tableau) y server (en servidores en la nube, como AWS, o en sevidores propios).
- Tipos y precios de licencias de Tableau