Challenge, Workout Wednesday, Trellis Chart, Small Multiple Chart, Area

Por: Rosario Gauna @rosariogaunag

Agosto, el mes de los retos de la comunidad de Workout Wednesday, se despide con un excelente ejercicio preparado por el Zen Master Neil Richards. Link al reto

El entrenamiento corresponde a la semana 35 de Workout Wednesday y consiste en recrear una versión de “gráfico múltiple pequeño” de un gráfico de cuadrantes de 2 × 2.

Un gráfico múltiple o trellis chart, es una serie de gráficos o cuadros similares que utilizan la misma escala y los mismos ejes para mostrar diferentes particiones de un conjunto de datos, lo que permite comparar y contrastar fácilmente valores entre los gráficos.

A continuación, comparto el procedimiento final que yo utilicé:

Paso 1: Crear una nueva dimensión tomando como base los valores de los campos de Categoría y Sub-Categoría.

El objetivo de la creación de este campo es mantener la sincronía en la visualización de esta gráfica, ya que se requiere trabajar con 4 valores diferentes dentro de la dimensión a graficarse. Para los datos de SuperStore el campo de Categoría maneja tres valores: Tecnología, Muebles y Material de Oficina. Para contar con un cuarto valor, se deberá dividir la categoría de Tecnología en dos valores: Teléfonos y Otros Tecnología. De tal forma, que la nueva dimensión manejará 4 valores: 1) Telefonía, 2) Otros Tecnología, 3) Muebles y 4) Material de Oficina.

Category Chart =

IIF( [Category] = “Technology”,

IIF( [Sub-Category] = “Phones”,  “Phones”,  “Other Tech”),   [Category])

Paso 2: Calcular el Porcentaje de Utilidad por Estado y Categoría y su valor máximo por Estado.

Profit by State-Category =

{ FIXED [State], [Category Chart] : ROUND( SUM([Profit]) / SUM([Sales]), 4 ) }

Max Profit by State =

{ FIXED [State] : MAX( [Profit by State-Category] ) }

Paso 3: Calcular para cada Estado, su posición o coordenadas. Es decir, en que columna y renglón deberá aparecer.

El conjunto de datos de SuperStore tiene 49 estados incluidos (no Alaska o Hawaii, pero se incluye el Distrito de Columbia), lo cual nos brinda un conjunto de datos perfecto para una cuadrícula de 7 × 7. Porque el tamaño de la cuadricula no cambiará, se puede utilizar una versión corta del cálculo de las coordenadas, dejando fijo el valor de 7 estados graficados por renglón.

COLUMN =

INT( (Index() – 1) % 7)

ROW =

INT( (Index() – 1) / 7)

Dar click derecho en ambos campos y seleccionar la opción de “Convert to Discret

Paso 4: Calcular la altura y el ancho de cada cuadrado de cada una de las Categorías dentro de la cuadrícula del grafico interno de 2 x 2.

Dado que el área del cuadrado representará el Porcentaje de Utilidad, para calcular el tamaño de los lados se requiere obtener la raíz cuadrada del Porcentaje de la Utilidad.

Un segundo punto a observar en la fórmula es asegurar que los Porcentajes de Utilidad negativos sean excluidos de la gráfica.

Como último punto, se debe considerar el cuadrante que le corresponde a cada Categoría. Ya que el cuadrante definirá el signo a utilizar de acuerdo con la siguiente tabla:

Picture2

X =

IIF( [Profit by State-Category] > 0,

IIF( [Category Chart] = “Other Tech” OR [Category Chart] = “Office Supplies”, 1, -1) *

SQRT( [Profit by State-Category] ), NULL)

Y =

IIF( [Profit by State-Category] > 0,

IIF( [Category]=”Technology”, 1, -1 ) *

SQRT( [Profit by State-Category] ), NULL)

Paso 5: Calcular el campo “Color” y el campo “Label” para el cuadrante con mayor utilidad por estado.

Color =

IIF( [Profit by State-Category]= [Max Profit by State], [Region], “Gray”)

Label =

IIF( [Profit by State-Category]= [Max Profit by State],

[Max Profit by State], NULL)

Paso 6: Crear una gráfica de barras y una gráfica de “Text”.

Para la gráfica de barras se deberá cambiar la opción de “Stack Marks” a “Off”. Si no modificáramos esta opción, se acumularía el valor de las barras de cada una de las categorías de acuerdo con el orden en que son desplegadas.

La gráfica de “Text” será utilizada para colocar el nombre de cada Estado en la gráfica, al utilizar un eje doble sincronizado.

Mover a los estantes, las variables indicadas en la siguiente imagen:

Picture3

Para los ejes definidos con las variables AVG(0) y AVG(Y) establecer un rango fijo con valores entre -1 y 1. Para el eje definido por la variable AVG(-0.8) indicar que será un eje doble sincronizado, el cual será utilizado para incluir el nombre de cada Estado.

Para las variables de “Column”y “Row” que utilizan dentro de su fórmula la función de Index() se debe establecer que el cálculo de tabla sea por dimensiones específicas. Es muy importante no olvidar que el cálculo se debe realizar a nivel Estado para asegurar que el valor del índice se incremente al cambiar de Estado, independientemente si el Estado contiene datos o no para todas las Categorías.

Picture4

Para terminar de darle forma a la gráfica, usamos un truco que nos ayudará a que cada una de las barras de la gráfica coincidan tanto en lo alto y ancho, es decir, dibujar figuras cuadradas.

Para lograr este objetivo, utilizaremos la opción de “Fixed” del estante de “Size”, con la cual, se controlará el ancho de cada una de las barras de acuerdo con el valor establecido en la variable AVG(X) e indicar que se requiere una alineación izquierda para las barras.

Picture5

Paso 7: Ajuste los tooltips y los formatos.

¡Listo!  

Link a Tableau Public

Picture1

Aprovecho para dar las gracias a Neil Richardspor compartirnos este divertido reto, con el cual, despedimos con broche de oro el mes de los retos de la comunidad de Workout Wednesday.

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

¡Saludos!

Rosario Gauna

Advertisements