La funcionalidad de los #SetActions nos ofrece una amplia gama de posibilidades de mejorar la experiencia del usuario.  Un ejemplo claro es su utilización en consultas tipo Drill Down, en donde, los usuarios pueden seleccionar los elementos de la visualización sobre los que requiere mayor nivel de detalle.

El poder definir Drill Down de 2, 3, o hasta ”n” niveles es bastante sencillo con los #SetActions. Sin embargo, si consideramos la definición básica o de default de los #SetActions, el Drill Up sólo se activa y es posible cuando el usuario se encuentra en el nivel más detallado de la consulta.

Cuando se utilizan definiciones de dos o tres niveles de consulta, el utilizar la definición básica del Drill Up de ciclo completo de consulta es suficiente. Pero cuando necesitamos trabajar con más niveles, es importante ofrecer mayor flexibilidad para que el usuario realice Drill Up en cualquier nivel de la consulta y no se requiera realizar el ciclo completo de consulta.

Este ejercicio nació buscando combinar las ventajas de los #SetActions en los Drill Down, con las ventajas de utilizar menús de Drill Up personalizados para los distintos niveles de agregación de consulta.

El resultado final de este ejercicio consiste en un Dashboard con una gráfica de barras con las cuales el usuario puede realizar el Drill Downs hasta un último nivel en función de la jerarquía elegida. Conforme el usuario avanza en el Drill Down, se agrega un Worksheet, que representa una nueva opción dentro del menú de Drill Up, para que el usuario pueda regresar al nivel de agregación deseado.

A continuación, comparto la versión final que obtuve.

MODELACION DE DATOS

La modelación de datos es la clave para lograr la definición de los menús de Drill Up. El objetivo buscado es agregar un registro adicional a la fuente de datos de ordenes de “Super Store”, con los valores de los datos en NULL.

¿Por qué necesitamos un registro adicional?

Recordemos, con los #SetActions el usuario puede controlar con su interacción con las “marks” que miembros están “IN” o “OUT” en el Set. En base a la selección del usuario, podemos establecer la formula de un campo calculado para establecer diferentes valores dependiendo de que si el “IN/OUT” de los elementos del Set.

En este ejercicio, las formulas consideran que los elementos del Set que son seleccionados por el usuario y que se encuentran “IN”, nos indican que se profundizará en el nivel de detalle, es decir, que se hará un Drill Down.

Por lo cual, para realizar la opción contraria, es decir solicitar un Drill Up, se requiere restablecer los valores “OUT” en el set involucrado.

El contar con este registro adicional en los datos, nos permite crear un worksheet de Drill Up, en donde el usuario selecciona la “mark” del registro adicional, con valor nulo y así activa uno o más #SetActions para redefinir y dejar todos los valores reales “OUT” del Set, ya que ninguno de los valores reales coincide con el valor nulo del registro adicional.

Ahora veamos como agregar el registro adicional en nuestros datos.

Paso 1: Crear un archivo de Excel denominado “Reset Sets”.

Dentro de un sheet denominado “Reset”, crear una columna con el mismo nombre de “Reset” y capturar un solo registro con valor de 1.

Paso 2: Definir un Join tipo Full entre Ordenes y Reset.

La clausula de unión a utilizar es: 0 = Reset

01-Join

Listo, ya tenemos un registro adicional con valores nulos.

A continuación comparto un ejemplo, para ayudar a comprender el comportamiento de los miembros de un Set en las operaciones de Drill Down y Drill Up.

02-DrillDown&Up

DEFINIR EL ORDEN DE LAS VARIABLES EN LA JERARQUIA

Paso 3: Crear parámetros para seleccionar el orden de las variables en la jerarquía

Se debe crear un parámetro por cada uno de los cinco niveles de jerarquía. Utilizaremos los siguientes nombres para los parámetros: “Select Dim 1”, “Select Dim 2”, “Select Dim 3”, Select Dim 4” y “Select Dim 5”.

Se definirán de tipo “String” y sus valores posibles son: “Category”, “Sub-Category”, “Region”, “Segment” y “Ship Mode”.

PARA EL NIVEL 1 DE LA JERARQUÍA

Paso 4: Definición de la Dimensión del Drill Down, Set y Set Action del primer nivel de la jerarquía.

4.1 Crear el campo del Drill Down para el primer nivel de la jerarquía.

El valor de la variable “DD Dim1” estará determinado por el valor seleccionado por el usuario en el primer parámetro.

4.2 Crear el Set “DD Dim1 Set”.

El Set se asociará a la dimensión creada en el paso previo.

4.3 Crear el Set Action “Set Action1” para el Worksheet.

Para dar de alta el primer #SetActions, se deberá seleccionar el menú de Worksheet / Actions / Add Action / Change Set Value.

03-Level1

Los #SetActions también pueden ser definidos dentro del menú de los “Dashboard”. En este ejercicio, preferí utilizar la definición a nivel “Worksheet” para facilitar el entendimiento de los pasos a seguir en cada uno de los niveles de la jerarquía.

Elegir para “Source” la opción de “Orders (Sample – Superstore)” y la opción de que todos los valores del Set deberán ser removidos cuando la selección se limpie, al momento de definir el #SetActions.

04-SetActions

PARA EL NIVEL 2 DE LA JERARQUÍA

Paso 5: Definición de la Dimensión del Drill Down, Set y Set Action del segundo nivel de la jerarquía.

05-Level2

Nota: A partir del segundo nivel de la jerarquía, la definición de la dimensión de Drill-Down del nivel estará determinado por: 1) El valor seleccionado por el usuario en el parámetro correspondiente y 2)  El valor de los miembros de los Set de los niveles previos (“IN” / “OUT”).

PARA EL NIVEL 3 DE LA JERARQUÍA

Paso 6: Definición de la Dimensión del Drill Down, Set y Set Action del tercer nivel de la jerarquía.

06-Level3

PARA EL NIVEL 4 DE LA JERARQUÍA

Paso 7: Definición de la Dimensión del Drill Down, Set y Set Action del cuarto nivel de la jerarquía.

07-Level4

PARA EL NIVEL 5 DE LA JERARQUÍA

Paso 8: Definición de la Dimensión del Drill Down del quinto nivel de la jerarquía.

08-Level5

PARA SELECCIONAR LAS MARKS DE NIVEL MÁS DETALLADO

Los siguientes pasos son para identificar el nivel máximo de detalle o profundidad de cada registro y el nivel máximo en la fuente de datos, lo cual nos ayudará a seleccionar y graficar exclusivamente las “Marks” de mayor nivel de detalle.

Paso 9: Crear la dimensión “Level”.

Para identificar el nivel máximo de jerarquía abierto que se está manejando en cada uno de los registros de los datos.

09-Level

Paso 10: Crear la dimensión “Max Level”.

Para identificar el valor del nivel máximo en la fuente de datos.

10-Max Level

Paso 11: Crear la dimensión “Filter”.

Para comparar el nivel de cada registro vs. el nivel máximo en la fuente de datos. (TRUE/FALSE)

11-Filter

Paso 12: Crear la dimensión “Last Dimension”.

De acuerdo al nivel identificado para cada registro, asignarle a la nueva variable “Last Dimension” el valor que corresponda.

Esta variable es la que desplegará el nombre de cada barra de la gráfica.

12-Last Dimension

CREAR LA GRÁFICA PRINCIPAL

Paso 13: Crear la gráfica de barras.

Mover a los estantes de:

  • Columns ⬅   “Sales”
  • Rows ⬅   “ DD Dim1”, “DD Dim2”, “DD Dim3”, DD Dim 4” y

“Last Dimension” ordenadas descendentemente por ventas

  • Color ⬅   “Level”
  • Filter ⬅   “Filter” = TRUE

“Reset” = NULL (para excluir el registro adicional en Nulos)

Ocultar el “Header” en las dimensiones de “Rows”, excepto “Last Dimension” que será la única dimensión visible.

DEFINICIÓN DE LAS OPCIONES DEL MENU DE DRILL UP

Es importante recordar el requerimiento solicita que los menús de Drill Up, deberán ser dinámicos en función del: 1) orden de consulta definido en los parámetros y 2) del nivel máximo de consulta que se esta trabajando.

Para lograrlo se deberá crear un worksheet para cada opción personalizada del menú y cada uno de ellos impactará un Set Action especifico. Estos worksheets trabajarán exclusivamente con el registro adicional con valores nulos que se agregó a la tabla de datos en los primeros pasos del ejercicio.

Paso 14: Personalizar los letreros de las opciones de menú.

De acuerdo al orden seleccionado en la jerarquía y en nivel máximo utilizado en la jerarquía.

13-Back

Paso 15: Definir los worksheets para las opciones del menú.

Se definirá un worksheet por cada una de las opciones dentro del menú para el Drill Up. Es decir, 4 worksheets, uno menos que el nivel máximo de consulta permitido.

Recordar que en estos worksheet se deberá seleccionar únicamente el registro adicional con valores nulos (Reset = 1), para utilizar los valores nulos para ejecutar #SetActions y limpiar los valores de los Sets.

14-Back2

Paso 16: Actualizar la definición de los Set Actions.

Se modificará la definición de los “Source Sheets” dentro de los #SetActions:

15-SetActions

Link a Tableau Public

16-Imagen principal

Espero que hayan disfrutado y que les sea de utilidad este blog.

Si tienen alguna pregunta sobre el blog, no duden en ponerse en contacto conmigo en twitter (@rosariogaunag)

¡Saludos!

Rosario Gauna

Anexo: Diagrama con un ejemplo de ejecución de los cinco niveles de Drill Down:

17-Parte1

18-Parte2

19-Prte3

Advertisements