Reto, Workout Wednesday, Polígonos, Cálculos LOD, Cálculos de Tabla, Ejes dobles sincronizados

Por: Rosario Gauna @rosariogaunag

En la semana 36 de Workout Wednesday, @RodyZakovichnos preparó un reto que permite visualizar bandas de referencia como fondo de un gráfico de dispersión, dando un toque más elegante al diseño al agregar una tercera dimensión a la visualización.

Link al reto

Link a los datos

Antes de iniciar con el procedimiento, quisiera que nos diéramos un tiempo para entender como está conformada la gráfica:

Paso 0: Entender la estructura de la gráfica.

El eje de las “x” representa el número total de los juegos en que participaron los jugadores.

El eje de las “y” representa el número total de puntos anotados por los jugadores en toda su carrera.

Las bandas de referencia, utilizadas como fondo representan un tercer eje sobre el cual son agrupados todos aquellos jugadores en que sus puntos promedio anotados por juego están dentro del rango definido en cada segmento o color de banda.

Las bandas de referencia utilizadas como fondo, son creadas en este procedimiento con figuras de polígonos al unir 4 puntos. A continuación, comparto un diagrama de los cálculos de las coordenadas (x, y) para los 4 puntos, para cada una de las bandas de referencia, considerando que el rango de las bandas es de tamaño 5.

Picture2Como se puede observar, el punto de inicio y el punto final de cada polígono, es decir, los puntos 1 y 4, siempre estarán ubicados en las coordenadas (x=0, y=0).

Los puntos 2 y 3 del polígono, en el eje x, estarán en el punto máximo establecido, en este caso es de 1700. ¿Por qué se utiliza 1700 como valor máximo? Porque el jugador con el mayor número de juegos ha participado en 1611 y para dar un margen se utilizará 1700.

Los valores de los puntos 2 y 3 del polígono, en el eje “y”, será el resultado de multiplicar 1700 juegosporel valor mínimo para el punto 2 o por el valor máximo para el punto 3, de los puntos promedio que puede obtener cada jugador para pertenecer a una banda en específico.

Aunque no era un requisito del reto original, el procedimiento que a continuación comparto incluye la posibilidad de que el usuario elija entre distintos tamaños de banda.

Paso 1: Modelar los datos – Crear 4 copias de los datos.

Una de las técnicas para lograr este objetivo es crear la “Union” de los datos consigo mismo. En este caso se requieren cuatro copias de los datos.

Picture3

¿Por qué necesito cuatro copias de los datos? Para poder disponer de 4 marks para formar cada polígono. De cada copia de datos obtengo un punto que conforman el “Path” de cada polígono.

Recordar que para identificar la copia de los datos que se trata, Tableau crea en forma automática una nueva dimensión llamada “Table Name” con cuatro valores diferentes, en este caso, los valores son “Data”, “Data1”, “Data2”, “Data3”.

De acuerdo con los cuatro valores asignados automáticamente en “Tabla Name”, creamos una nueva variable denominada “Dot” con valores 1, 2, 3 y 4.

Picture9

Paso 2: Crear el parámetro Size of Bandpara que el usuario seleccione los puntos de diferencia que definirá el tamaño de la banda.

Un entero, con un valor mínimo de 3 y un máximo de 7, con incrementos de 2 en 2. Con un valor actual de 5.

Paso 3: Calcular los puntos promedio por juego para cada jugador.

Avg Points per Game =

ROUND({FIXED [Player] : AVG([PTS] / [Adjust Games])}, 2)

Paso 4: Calcular el Rank de los jugadores en base a los puntos totales anotados en su carrera y crear la etiqueta de los 10 jugadores con mejor rank, indicando su Rank y apellido.

Rank = Rank(SUM([PTS]))
Top 10 Players =

IIF([Rank] < 11,

‘#’ + STR([Rank]) + ‘ ‘ +

UPPER(MAX(TRIM( SPLIT( [Player], ” “, -1 ) ))), NULL)

Paso 5: Calcular el valor mínimo de puntos promedio por juego que identifica a cada banda.

Low Band =

INT([Avg Points per Game] / [Size of Band])

* [Size of Band]

Para un “Size of Band”de 5, los valores posibles con los datos actuales para “Low Band”son: 10, 15, 20, 25, 30.

Paso 6: Calcular la etiqueta de las bandas de referencia, que indique los valores enteros mínimo y máximo de puntos promedio por juego para pertenecer a cada banda.

Picture4Paso 7: Calcular coordenadas (x, y) para cada punto de cada polígono. El cálculo de las variables “x”y “y”se realizará de acuerdo con las indicaciones del paso cero.

Picture5La substracción de 0.1 al tamaño de la banda, genera el espacio o líneas blancas que se aparecen entre las bandas.

Dar click derecho en ambos campos y seleccionar la opción de “Default Properties – Aggregation – Minimum

Paso 8: Crear la gráfica con la definición de los polígonos.

Mover a los estantes de:

  • Columns   ⬅”MIN(x)”
  • Rows  ⬅”MIN(y)”
  • Color  ⬅”Band”
  • Path  ⬅”Dot”

De acuerdo a las indicaciones de Rody, ajustar el rango del eje de las “x”entre los valores 715 y 1667 y ajustar el rango del eje de las “y”entre los valores de 17900 y 39900.

Picture7Paso 9: Continuar con la definición de la gráfica. Se agregará una gráfica de “Shape”, la cual sincronizará sus ejes “x” y “y” con los ejes de la gráfica de polígonos.

Agregar a los estantes de:

  • Columns ⬅  “AVG(Adjust Games)”definir eje doble sincronizado.
  • Rows ⬅  “AVG(PTS)”definir eje doble sincronizado.

Mover a los estantes de la gráfica de “Shapes”

  • Detail ⬅  “Player”ordenados descendentemente
  • Color ⬅  “Band”
  • Shape ⬅  “Is Active” y seleccione las formas que representaran a los jugadores

activos y a los jugadores inactivos.

  • Label ⬅  “Top 10 Players”
  • Tooltips  ⬅  “Rank”

“AVG(Adjust Games)”

“AVG(Points per Game)”

Para las variables de “Rank”y “Top 10 Players Label”que utilizan dentro de su fórmula una función de tabla se debe establecer que el cálculo de tabla sea por dimensiones específicas: “Player”, “Is Active” y “Band”

Paso 10: Ajuste los tooltips y los formatos.

¡Listo!  

Link a Tableau Public

Picture1

Aprovecho para dar las gracias a @RodyZakovich por compartirnos este interesante reto.

Si tiene alguna pregunta sobre el blog, no dudes en ponerte en contacto conmigo en twitter (@rosariogaunag)

¡Saludos!

Rosario Gauna

Advertisements