Después del desafiante reto lanzado la semana 13 por Luke Stanke en #WorkoutWednesday, Ann Jackson no se quiso quedarse atrás y nos desafía para unirnos a ella en una aventura al lado obscuro.

WoW! Promesa de diversión asegurada.

El desafío nace de la búsqueda de diseñar una Viz que permita tener más comparaciones dirigidas por el usuario y conservar la información de otros pares en el fondo, de tal forma que el usuario debería saber en qué se ha hecho clic y debería aparecer más información de apoyo en el contexto.

En este ejercicio se trabajará con los datos del 2018 de SuperStore para la categoría de “Office Supplies”, en donde se busca contar con dos paneles de control dinámicos que permitan resaltar de manera dinámica dos de las subcategorías de “Office Supplies” para compararlas y revelar sus promedios mensuales.

Es decir, cuando se hace clic en una subcategoría del panel de control superior, la subcategoría elegida deberá ser resaltada en la gráfica principal y aparecerá una línea con su promedio. Esta selección además deberá modificar ambos paneles de control: 1) En el panel superior la subcategoría elegida deberá moverse al extremo izquierdo y cambiar de color y 2) En el panel inferior se deberá desaparecer la subcategoría elegida en el panel superior.

Esta misma lógica deberá ser aplicada cuando una subcategoría del panel de control inferior es seleccionada, solamente con algunos ajustes como el uso de otro color.

A continuación, comparto los pasos que seguí.

Paso 1: Crear extracto de los datos seleccionado la Categoría de “Office Supplies”.

Paso 2: Definir la variable “Upper Sub-Category”.

Upper Sub-Category = UPPER([Sub-Category])

Paso 3: Definir Sets.

Para poder identificar cual Sub-Categoría fue seleccionada en cada uno de los menús de los paneles de control, vamos a utilizar “Sets” y “Set Actions”.  En este paso definiremos un “Set” para cada uno de los paneles de control. Ambos “Sets” serán creados a partir de la variable definida en el paso anterior.

Para crear los “Sets” solo se requiere posicionarse en el campo “Upper Sub-Category” y con el click derecho seleccionar la opción “Create Set”. Para identificar cada uno de los “Sets” utilice los nombres de “Top Menu Set” y “Bottom Menu Set”.

Picture02Paso 4: Crear la variable de “Month”.

La gráfica muestra la información mensual, por lo cual se definiría una nueva variable que permita agrupar las fechas que pertenecen al mes.

Month = DATE(DATETRUNC(“month”, [Order Date]))

Otra forma de conseguirlo es seleccionar el campo de “Order Date” y con el click derecho elegir “Create Custome Date” a nivel mes.

Paso 5: Calcular las ventas promedio mensuales, en caso de que la Sub-Categoría haya sido seleccionada por el usuario.

Average Sales =

IIF([Top Menu Set] OR [Bottom Menu Set],

{FIXED [Sub-Category] : AVG(

{FIXED [Month], [Sub-Category]: SUM([Sales])})}, NULL)

El cálculo LOD interno {FIXED [Month], [Sub-Category]: SUM([Sales])} nos permite obtener el valor de las ventas mensuales de cada Sub-Categoría .

El Cálculo LOD externo nos permite obtener el valor promedio de las ventas mensuales de cada Sub-Categoría.

Paso 6: Definir la variable para el color.

Se utilizarán tres colores, dependiendo si la Sub-Categoría ha sido seleccionada en el menú superior o en el menú inferior o si no ha sido seleccionada.

Color =

IIF([Top Menu Set], “1-Top”,

IIF([Bottom Menu Set], “2-Bottom”, “3-Others”))

Paso 7: Crear variable que nos ayude con las etiquetas en la Viz.

Label Name =

IIF([Top Menu Set] OR [Bottom Menu Set],

UPPER([Sub-Category]), NULL)

Label Average Sales =

IIF(DATEPART(“month”,[Order Date]) = 6,

[Average Sales], NULL)

Paso 8: Crear el gráfico principal.

Se utilizará dos gráficas de líneas con eje doble sincronizado.

Definir el gráfico:

  • Columns ⬅   “Month”  utilizar “Exact Date” y “Continuous”
  • Rows ⬅   SUM(Sales) y AVG(Average Sales)
  • Color ⬅   “Color”
  • Detail ⬅   “Upper Sub-Category”
  • Label ⬅  “Label Name” para el eje principal y  “Label Average Sales” para el eje secundario

Picture03Paso 9: Crear el panel de control superior.

Se utilizará un gráfico tipo barras.

Definir la gráfica:

  • Filters ⬅   “IN/OUT(Bottom Menu Set)” = “Out”
  • Columns ⬅   “IN/OUT(Top Menu Set)” y “Upper Sub-Category”
  • Rows ⬅   AVG(1) se ajusta el eje de 0 a 1.
  • Color ⬅   “Color”
  • Label ⬅   “Upper Sub-Category”

Picture04Paso 10: Crear el panel de control inferior.

Se utilizará un gráfico tipo barras.

Definir la gráfica:

  • Filters ⬅   “IN/OUT(Top Menu Set)” = “Out”
  • Columns ⬅   “IN/OUT(Bottom Menu Set)” y “Upper Sub-Category”
  • Rows ⬅   AVG(1) se ajusta el eje de 0 a 1.
  • Color ⬅   “Color”
  • Label ⬅   “Upper Sub-Category”

Picture05 Paso 11: Conjuntar los gráficos en un Dashboard y definir los “Set Actions”.

Picture06Listo!

Link a Tableau Public

Picture01Deseo agradecer a Ann Jackson por invitarnos a unirnos con ella en esta divertida aventura al lado obscuro. Recordemos: No Pain, No Gain!

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

¡Saludos!

Rosario Gauna

 

Advertisements