Dibujando Letras en Tableau - Drawing Letters in Tableau
English version is here
Poco a poco sigo avanzando en mi empeño por entender las posibilidades que ofrece Tableau más allá del “Show me”. Inspirado por la serie de Ken Flerlage de “la X y la Y“―pero no todavía al nivel de las ecuaciones paramétricas― me lanzo aquí a diseñar una aplicación para usar Tableau como lienzo en el que escribir sin las restricciones de tamaño de los cuadros de texto.
- Introducir un texto (o, mejor dicho, una palabra de nueve letras o menos) y dibujarla, letra a letra, como una combinación de fórmulas de Tableau.
Proceso:
- Obtener las ecuaciones para dibujar las distintas letras en una única posición teórica―plantilla usando Excel.
- Transportar las ecuaciones a las distintas posiciones usando Alteryx.
- Crear un libro de trabajo de Tableau que sirva de plantilla.
- Generar las distintas fórmulas en el libro de Tableau usando Alteryx.
Busando Ecuaciones para Dibujar Letras
- Obtener las ecuaciones para dibujar las distintas letras en una única posición teórica―plantilla usando Excel.
- Obtener un modelo de ecuaciones.
- Descomponerlo en los trazos necesarios y compatibles con Tableau.
- Reconvertir las ecuaciones necesarias.




Primera Incursión en Alteryx - preparación.
- Transportar las ecuaciones a las distintas posiciones usando Alteryx.
- Decidir el número de letras con el que trabajar.
- Procesar la plantilla de trazos y convertirla en fórmulas para Tableau.
- Repetir el proceso para cada una de las letras del punto (1).









Plantilla en Tableau
- Crear un libro de trabajo de Tableau que sirva de plantilla.
- Diseñar la fuente de datos.
- Bosquejo de la vista para dibujar las letras: fórmulas y cómputo de las mismas usando las agrupaciones generadas en el punto (1) como eje de las x .
- Cálculo de las distintas letras (¿qué letras? ¿dónde?).





- La agrupación generada anteriormente (padded) en detalle, para proporcionar la dimensión en la que generer los distintos cálculos de tabla.
- El campo calculado “t” que va a ser el “eje de las x” para la posición adecuada de las letras en las columnas. En este caso, ajustado con los valores 100 y 200 basados en la agrupación generada anteriormente (padded).

- Con “t” y “padded” ya en posición, no queda sino traer los campos calculados para los distintos trazos de las distintas letras. En este caso, uso como muestra los fragmentos de la primera letra. Todos los demás, los traeré posteriormente usando Alteryx.
- Cada uno de los trazos tiene que ser computado usando padded –tanto para t como para letter.

- El primero, que he llamado “Name_letters“, se basa en un parámetro (en este ejemplo, puede ser un campo calculado que varíe en función de otras medidas como las ventas —ejemplo).
Obtención del texto para dibujar basado en un parámetro. Se puede sustituir por un campo calculado variable en función de otras medidas, como por ejemplo aquí. - A continuación, un campo calculado por cada letra. Como los distintos puntos no existen en la fuente de datos, sino que son generados al realizar las agrupaciones, para poder acceder a los distintos valores es necesario recurrir, de nuevo, a cálculos de tabla:
Obtención de la primera letra–es necesario recurrir a cálculos de tabla. Variando la posición inicial del cálculo de tabla se pueden obtener las distintas letras. - Por último, un campo calculado en función de la posición en el eje de las x para decidir qué letra dibujar en cada posición.
Qué letra dibujar se decide en función de la posición en el eje de las x. Hardcoded.





- La agrupación generada anteriormente (padded) en detalle, para proporcionar la dimensión en la que generer los distintos cálculos de tabla.
- El campo calculado “t” que va a ser el “eje de las x” para la posición adecuada de las letras en las columnas. En este caso, ajustado con los valores 100 y 200 basados en la agrupación generada anteriormente (padded).

- Con “t” y “padded” ya en posición, no queda sino traer los campos calculados para los distintos trazos de las distintas letras. En este caso, uso como muestra los fragmentos de la primera letra. Todos los demás, los traeré posteriormente usando Alteryx.
- Cada uno de los trazos tiene que ser computado usando padded –tanto para t como para letter.

- El primero, que he llamado “Name_letters“, se basa en un parámetro (en este ejemplo, puede ser un campo calculado que varíe en función de otras medidas como las ventas —ejemplo).
Obtención del texto para dibujar basado en un parámetro. Se puede sustituir por un campo calculado variable en función de otras medidas, como por ejemplo aquí. - A continuación, un campo calculado por cada letra. Como los distintos puntos no existen en la fuente de datos, sino que son generados al realizar las agrupaciones, para poder acceder a los distintos valores es necesario recurrir, de nuevo, a cálculos de tabla:
Obtención de la primera letra–es necesario recurrir a cálculos de tabla. Variando la posición inicial del cálculo de tabla se pueden obtener las distintas letras. - Por último, un campo calculado en función de la posición en el eje de las x para decidir qué letra dibujar en cada posición.
Qué letra dibujar se decide en función de la posición en el eje de las x. Hardcoded.
Segunda Incursión en Alteryx y Últimos Toques en Tableau
- Generar las distintas fórmulas en el libro de Tableau usando Alteryx.
- Entendiendo los cambios entre las fórmulas obtenidas de Alteryx y la estructura de las fórmulas necesarias en Tableau.
- Transformando el texto en HTML y creando las fórmulas en el formato de Tableau.
- Actualizar la hoja de trabajo para que use todos los campos calculados creados, computados correctamente (usando padded).
- Workflow de Alteryx explicando los distintos pasos esbozados en 4.3.









- Parece claro que, para incorporar más campos calculados, habrá que editar el “categorical filter”. En concreto, añadir tantas secciones “Groupfilter” como campos tengamos.
- En las filas (rows) tenemos los valores de medidas y en las columnas el campo “t” creado anteriormente.
- Para computar el rango entero de padded, hay que seleccionar la opción de “Mostrar filas vacías” del menú de Análisis > Diseño de Tabla.
- El primero es idéntico al que ya hemos empleado en el apartado anterior y que contiene el nombre, alias, fórmula, etc.
Definición del campo calculado, idéntico al ya calculado. - El segundo, “column-instance“, contiene la definición específica, incluyendo cómo computar respecto a los distintos campos, para esta vista específica.
Estructura específica para la vista actual, con el cómputo detallado.
















- Parece claro que, para incorporar más campos calculados, habrá que editar el “categorical filter”. En concreto, añadir tantas secciones “Groupfilter” como campos tengamos.
- En las filas (rows) tenemos los valores de medidas y en las columnas el campo “t” creado anteriormente.
- Para computar el rango entero de padded, hay que seleccionar la opción de “Mostrar filas vacías” del menú de Análisis > Diseño de Tabla.
- El primero es idéntico al que ya hemos empleado en el apartado anterior y que contiene el nombre, alias, fórmula, etc.
Definición del campo calculado, idéntico al ya calculado. - El segundo, “column-instance“, contiene la definición específica, incluyendo cómo computar respecto a los distintos campos, para esta vista específica.
Estructura específica para la vista actual, con el cómputo detallado.







Resumen
En este post he hecho mis primeros pinitos dibujando letras en Tableau; analizado un poco más la relación X-Y y las posibilidades que ofrece en Tableau; explorado los entresijos de los cálculos de tabla en una fuente de datos con dos únicos registros, al tiempo que comprobaba cómo Tableau entiende que deberían existir toda esa serie de puntos intermedios inexistentes tras establecer las agrupaciones (el “gap awareness” de Tableau).
Además, he introducido un par de apartados de la estructura del XML del archivo .twb y he creado, de manera programática, cerca de 50 cálculos (¡y mostrado cómo ponerlos en una hoja de trabajo!).
Algunos enlaces:
- La página de “Alphabet” de Desmos.
- Hoja de Excel con la plantilla de las fórmulas .
- Hoja de Excel con las múltiples letras.
- Archivo de Alteryx para combinar la plantilla con el listado de letras y posiciones.
- Archivo de Alteryx para procesar las fórmulas en texto plano a HTML.
- Archivo de Alteryx para combinar los distintos campos en una hoja de trabajo.