Update 02/27/2020: Un nuevo blog con una nueva técnica para utilizar Drill Down y Drill Up con Acciones de Parámetro se publicó con el nombre de “Drill Down con menú izquierdo y Drill Up con menú superior


Con Tableau 2019.2 las interacciones con una visualización se volvieron más poderosas, ya que la nueva funcionalidad de #ParameterActions permite que los usuarios puedan modificarel valor de un parámetro a través de la interacción directa con una visualización, como hacer clic o seleccionar una “mark”.

Los #ParameterActions tienen un sinfín de posibilidades, entre ellas podemos hablar de que nos ayuda en establecer líneas de referencia, los podemos utilizar en cálculos, en filtros, en colores, en tamaños, en Drill Down de consultas y existen muchas formas de uso para ayudarnos a personalizar la forma en que se muestran los datos en una visualización.

Además, los parámetros son ampliamente utilizados ¿Quién no ha utilizado o no conoce como funcionan los parámetros? El utilizar parámetros es bastante sencillo y eso facilita aprender muy rápidamente a utilizar los #ParameterActions.

Dentro de las múltiples posibilidades que brinda el uso de #ParameterActions, deseo dedicar los siguientes blogs para profundizar su uso en diferentes técnicas de Drill Down, dado que considero que además de facilitarnos la definición de Drill Down complejos, también agiliza el tiempo de respuesta al estar interactuando con la visualización.

Acciones de Parámetro para:

  • Drill Down por Fechas
  • Drill Down Asimétrico
  • Drill Down & Up
  • Drill Down Asimétrico con Subtotales

Elegí comenzar con el Drill Down por fechas, un diseño que ya hemos realizado con otras técnicas y que es una de las peticiones básicas o frecuentes.

Principales requerimientos:

  • La nueva funcionalidad de acciones de parámetros se debe utilizar para el Drill Down.
  • Definición de tres niveles de jerarquía de Drill Down para las Ventas: Año, Mes y Día.
  • Inicialmente, se muestra la información de ventas anuales en una gráfica de barras.
  • Cuando el usuario selecciona una marca de ventas anuales, el gráfico se actualizará y solo se mostrará la información de ventas mensuales en un gráfico de barras para el Año seleccionado.
  • Cuando el usuario selecciona una marca de ventas mensuales, el gráfico se actualizará y solo se mostrará la información de ventas diarias para el mes seleccionado en un gráfico de líneas.
  • Cuando el usuario selecciona una marca de ventas diarias, el gráfico volverá a su condición original y mostrará la información de ventas anuales en un gráfico de barras.

A continuación comparto los pasos que utilicé utilizando #ParameterActions:

Paso 1: Crear un parámetro tipo fecha por cada nivel de Drill Down (Tres Niveles – Tres Parámetros).

Como se va a utilizar la nueva funcionalidad de #ParameterActions, lo primero que debemos hacer es crear los parámetros.

Se debe crear un parámetro por cada valor distinto que se desea identificar cuando el usuario interactúe directamente con la visualización, es decir, uno por cada nivel de la jerarquía. En este caso: Uno para año seleccionado, otro para mes seleccionado y un último para el día seleccionado.

El valor inicial asignado debe ser el de una fecha que previamente conozcamos y que no exista en los datos a trabajar. En este ejercicio utilicé la fecha de 1/1/1900 como valor inicial.

Los parámetros se denominarán: “DD Parameter1”, “DD Parameter2” y “DD Parameter3”, para año, mes y día respectivamente.

Picture02

Paso 2: Crear campo con el valor de la fecha utilizada como valor inicial de los parámetros.

Blank Date  =

MAKEDATE(1900,1,1)

Paso 3: Calcular el nivel de Drill Down.

Inicialmente, los valores de los tres parámetros son iguales al valor de “1/1/1900” y por lo tanto el nivel a iniciar es 1.

Posteriormente, cuando se tengan definidos los #ParameterActions y el usuario empiece a interactuar directamente con la visualización, los valores de cada uno de los tres parámetros se actualizarán conforme a la marca seleccionada por el usuario.

Con la actualización de los valores de los tres parámetros, automáticamente el valor del campo de nivel se recalculará y su valor estará cambiando entre 1, 2 y 3.

Max Level  =

IIF(

[DD Parameter1] = [Blank Date] OR

[DD Parameter3] <> [Blank Date], 1,

IIF([DD Parameter2] = [Blank Date], 2, 3))

Convertir a Dimensión.

Paso 4: Crear dimensiones con el valor de ventas para el gráfico de barra y para el gráfico de línea.

Bar Sales =

IIF([Max Level] <> 3, [Sales], NULL)

Line Sales  =

IIF([Max Level] = 3, [Sales], NULL)

Paso 5: Crear una nueva dimensión de fecha para cada nivel de Drill Down, truncada a año o mes o día de acuerdo con el nivel de Drill Down que representa cada variable.

Se crea una variable para cada nivel de la jerarquía: Año, Mes y Día y para cada #ParameterAction. Su valor dependerá del nivel de consulta que se esté realizando.

Estas variables se afectan por la acción del usuario sobre la gráfica y a su vez al accionarse el #ParameterAction sirven para actualizar el valor del parámetro asociado.

DD Dim1 =

DATE(DATETRUNC(“year”, [Order Date]))

DD Dim2 =

IIF([Max Level] >= 2,

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

DD Dim3 =

IIF([Max Level] >= 3, [Order Date], [Blank Date])

Paso 6: Crear una dimensión para filtrar los registros.

Se requiere crear un filtro para mostrar únicamente el siguiente nivel de detalle, de acuerdo a la última marca seleccionada por el usuario en la visualización.

Por ejemplo, cuando el usuario selecciona la marca del año 2018, la siguiente consulta deberá mostrar solo los meses que correspondan al año 2018.

Filter  =

[Max Level] = 1 OR

[Max Level] = 2 AND [DD Dim1] = [DD Parameter1] OR

[Max Level] = 3 AND [DD Dim2] = [DD Parameter2]

PARA CREAR UN EJE PERSONALIZADO POR NIVEL DE DETALLE

Paso 6: Crear una Dimensión para el eje de las “X”: “Date Axis”

Para personalizar los letreros del eje de fechas de acuerdo al nivel mostrado del Drill-Down, se creará una dimensión tipo string.

Date Axis =

CASE [Max Level]

WHEN 1 THEN STR(DATEPART(‘year’, [Order Date]))

WHEN 2 THEN LEFT(DATENAME(“month”,[Order Date]),3) + “, ” + RIGHT(STR(DATEPART(‘year’, [Order Date])),2)

WHEN 3 THEN LEFT(DATENAME(“month”,[Order Date]),3) + ” ” + STR(DATEPART(‘day’, [Order Date])) + “, ” + RIGHT(STR(DATEPART(‘year’, [Order Date])),2)

END

Paso 7: Crear la Dimension “Sort”.

Esta nueva dimensión permitirá ordenar los valores de “Date Axis” de acuerdo a su valor de fecha.

Sort  =

CASE [Max Level]

WHEN 1 THEN [DD Dim1]

WHEN 2 THEN [DD Dim2]

WHEN 3 THEN [DD Dim3]

END

CREAR LA GRÁFICA

Paso 8: Crear la gráfica de barras y de líneas.

Mover a los estantes de:

  • Filter⬅  “Filter” = True
  • Columns ⬅  “Date Axis”y ordenar ascendentemente por “Sort”.

El nivel de agregación en el Sort debe ser el Min.

  • Rows ⬅  “Bar Sales” para la gráfica de barras y

“Line Sales” para la gráfica de línea.

Las variables Color, Detail y Tooltips aplican en ambos ejes.

  • Color ⬅  “Max Level”
  • Detail ⬅  “DD Dim1”, “DD Dim2” y ATTR([DD Dim3])
  • Tooltips ⬅  SUM(Sales)

La gráfica utiliza un eje doble para las ventas. Se deben sincronizar ambos ejes.

Las variables DD Dim1 y DD Dim2 se tomarán como dimensiones discretas seleccionándolas con el click derecho o como segunda opción, seleccionarlas las variables y con el click derecho activar las opciones “Exact Date” y “Discrete”

La variable “DD Dim3” se tomará a atributo, seleccionando la opción con el click derecho. Esta característica es necesaria para que la gráfica de líneas.

Picture03

CREAR LOS PARAMETER ACTIONS

Crear un dashboard con el nombre “D_Drill Down” que incluya la gráfica recién creada.

Crear un #ParameterActions por cada nivel de Drill Down “Año – Mes – Día” (Tres Niveles – Tres #ParámeterActions).

Para definirlos se utilizará la opción de “Change Parameter” del menú de “Actions”, dentro del menú de dashboard recién creado.

Picture04

PARAMETER ACTION TARGET PARAMETER FIELD OR VALUE
Parameter1 DD Parameter1 DD Dim1
Parameter2 DD Parameter2 DD Dim2
Parameter3 DD Parameter3 ATTR(DD Dim3)

Ajusten formatos y Listo!

Link a Tableau Public

Picture01

Para concluir:

En este ejercicio, los #ParameterActions los utilizamos para realizar Drill Down de un campo de fecha dentro de una misma hoja.

La lógica de este ejercicio requiere para cada nivel de jerarquía, la definición de:

1)   Un Parámetro tipo Fecha.

2)   Un #ParameterAction

3)   Una Dimensión Dinámica para actualizar el valor del parámetro asociado, cuando se activa el #ParameterAction.

Cada vez que se selecciona una “mark” de la visualización se activan los #ParameterActions.

Cada uno de los #ParameterActions deberá actualizar el valor de su parámetro asociado, de acuerdo a una dimensión.

Una vez actualizados todos los parámetros, los campos calculados que dependen del valor de los parámetros, serán actualizados.

Con los nuevos valores, la Visualización a su vez se actualizará.

Una vez que otra vez una “mark” es seleccionada, se reinicia el ciclo de actualizaciones.

Muchas gracias y si tiene alguna pregunta sobre el blog, no dudes en ponerte en contacto conmigo en Twitter (@rosariogaunag)

¡Saludos!

Rosario Gauna