Scatter Plot Reference Bands

Challenge, Workout Wednesday, Polygons, LOD calculations, Table calculations, synchronized double axes

By: Rosario Gauna @rosariogaunag

In week 36 of Workout Wednesday, @RodyZakovich prepared a challenge that allows us to visualize reference bands as the background of a scatter chart, giving a more elegant touch to the design by adding a third dimension to the visualization.

Link to challenge

Link to the data

Before starting the procedure, I would like us to take some time to understand how the chart is made up:

Step 0: Understand the structure of the chart.

The “x” axis represents the total number of games in which the players participated.

The “y” axis represents the total number of points scored by players throughout their career.

The reference bands, used as a background, represent a third axis on which all those players are grouped in which their average points scored per game are within the range defined in each segment or band color.

The reference bands used as a background are created in this procedure with polygon shapes by joining 4 dots. Next, I share a diagram with the calculation of the coordinates (x, y) for the 4 dots, for each of the reference bands, considering that the range of the bands is of size 5.

Picture2

As you can see, the starting dot and the end dot of each polygon, that is, dots 1 and 4, will always be located in the coordinates (x = 0, y = 0).

Dots 2 and 3 of the polygons, on the x axis, will be at the maximum point established, in this case it is 1700. Why is 1700 used as the maximum value? Because the player with the highest number of games has participated in 1611 and to give a margin will be used 1700.

The values of dots 2 and 3 of the polygon, on the “y” axis, will be the result of multiplying 1700 games bythe minimum value for dot 2 or by the maximum value for dot 3, of the average points that can be obtained each player to belong to a specific band.

Although it was not a requirement of the original challenge, the procedure that I share below includes the possibility for the user to choose between different band sizes.

Step 1: Model the data – Create 4 copies of the data.

One of the techniques to achieve this goal is to create the “Union” of the data with itself. In this case four copies of the data are required.

Picture3

Why do I need four copies of the data? To be able to have 4 marks or dots to form each polygon. From each data copy I get a dot that make up the “Path” of each polygon.

Remember that to identify the copy of the data being treated, Tableau automatically creates a new dimension called “Table Name” with four different values, in this case, the values are “Data”, “Data1”, “Data2”, “Data3”.

According to the four values automatically assigned in “Table Name”, we create a new variable called “Dot” with values 1, 2, 3 and 4.

Picture9

Step 2: Create the “Size of Band” parameter for the user to select the difference points that will define the band size.

An integer, with a minimum value of 3 and a maximum of 7, with increments of 2 in 2. With a current value of 5.

Step 3: Calculate the average points per game for each player.

Avg Points per Game =

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

Step 4: Calculate the rank of the players based on the total points scored in his career and create the label of the 10 players with the best rank, indicating his Rank and last name.

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

IIF([Rank] < 11,

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

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

Step 5: Calculate the minimum value of average points per game that identifies each band.

Low Band =

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

* [Size of Band]

For a “Size of Band” of 5, the possible values with the current data for “Low Band” are: 10, 15, 20, 25, 30.

Step 6: Calculate the label of the reference bands, indicating the minimum and maximum integer values of average points per game to belong to each band.

Picture4

Step 7: Calculate coordinates (x, y) for each dot of each polygon.

The calculation of the variables “x” and “y” will be made according to the instructions of step zero.

Picture5The subtraction of 0.1 to the band size generates the space or white lines that appear between the bands.

Right click on both fields and select the option “Default Properties – Aggregation – Minimum”

Step 8: Create the chart with the definition of the polygons.

Picture6

According to the indications of @RodyZakovich, adjust the range of the axis of the “x” between the values 715 and 1667 and adjust the range of the axis of the “and” between the values of 17900 and 39900.

Picture7

Step 9: Continue with the definition of the chart. A “Shape” chart will be added, which will synchronize its “x” and “y” axes with the axes of the polygon chart.

Picture8

For the variables of “Rank”and “Top 10 Players Label”that use a table function within their formula, it must be established that the table calculation is by specific dimensions: “Player”, “Is Active” and “Band”.

Step 10: Adjust the tooltips and the formats.

Ready!  

Link to Tableau Public

Picture1

I take this opportunity to thank @RodyZakovich for sharing this interesting challenge.

If you have any questions about the blog, do not hesitate to contact me on twitter (@rosariogaunag)

Regards!

Rosario Gauna

Advertisements

Gráfico de Dispersión con Bandas de Referencia

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

Small Multiple – Profit Ratio by Category

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

By: Rosario Gauna @rosariogaunag

August, the month of the challenges of the Workout Wednesday community, says goodbye with an excellent exercise prepared by Zen Master Neil Richards. Link to the challenge

The training corresponds to week 35 of Workout Wednesday consists in recreating a “small multiple chart” version of a 2 × 2 quadrant graphic.

A multiple chart or trellis chart is a series of similar charts or tables that use the same scale and the same axes to show different partitions of a data set, allowing you to easily compare and contrast values between the charts.

Next, I share the final procedure that I used:

Step 1: Create a new dimension based on the values of the Category and Sub-Category fields.

The objective of the creation of this field is to maintain the synchronicity in the visualization of this chart, since it is required to work with 4 different values within the dimension to be graphed. For Superstore data, the Category field manages three values: Technology, Furniture and Office Supplies. To have a fourth value, the Technology category should be divided into two values: Telephones and Other Tech. In this way, the new dimension will manage 4 values: 1) Telephony, 2) Other Tech, 3) Furniture and 4) Office Material.

Category Chart =

IIF( [Category] = “Technology”,

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

Step 2: Calculate the Profit Ratio by State and Category and its maximum value per State.

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] ) }

Step 3: Calculate for each State, its position or coordinates. That is, in which column and row should appear.

The Superstore data set has 49 states included (not Alaska or Hawaii, but the District of Columbia is included), which gives us a perfect data set for a 7 × 7 grid. Because the size of the grid will not change, you can use a short version of the calculation of the coordinates, leaving fixed the value of 7 states plotted by row.

COLUMN =

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

ROW =

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

Right click on both fields and select the “Convert to Discret” option

Step 4: Calculate the height and width of each square of each of the Categories within the grid of the 2 x 2 internal chart.

Given that the area of the square will represent the Profit Ratio, to obtain the size of the sides it is required to obtain the square root of the Profit Ratio.

A second point to observe in the formula is to ensure that the negative Profit Percentages are excluded from the graph.

As a last point, the quadrant corresponding to each Category should be considered. Since the quadrant will define the sign to use according to the following table:

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)

Step 5: Calculate the “Color” field and the “Label” field for the quadrant with the highest Profit Ratio by state.

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)

Step 6: Create a “Bar” chart and a “Text” chart

For the bar chart you must change the option “Stack Marks” to “Off”. If we did not modify this option, the value of the bars of each one of the categories would be accumulated according to the order in which they are displayed.

The “Text” graphic will be used to place the name of each State in the chart when using a synchronized double axis.

Move to the shelves, the variables indicated in the following image:

Picture3

For the axes defined with the variables AVG(0) and AVG(Y) establish a fixed range with values between -1 and 1. For the axis defined by the variable AVG(-0.8) that it will be a synchronized double axis, which It will be used to include the name of each State.

For the “Column” and “Row” variables that use the Index () function within their formula, it must be established that the table calculation is by specific dimensions. It is very important not to forget that the calculation must be done at the State level to ensure that the value of the index increases when the State changes, regardless of whether the State contains data or not for all the Categories.

Picture4

To finish shaping the chart, we use a trick that will help each of the bars of the chart coincide so much in height and width, that is, draw square figures.

To achieve this goal, we will use the “Fixed” option of the “Size” shelf, with which the width of each of the bars will be controlled according to the value set in the variable AVG(X) and indicate that requires a left alignment for the bars.

Picture5

Step 7: Adjust the tooltips and the formats.

Ready!

Link to Tableau Public

Picture1

I would like to take this opportunity to thank Neil Richards for sharing this fun challenge, with which we will finish off the month of the challenges of the Workout Wednesday community with a flourish.

If you have any questions about the blog, do not hesitate to contact me on twitter (@rosariogaunag)

Regards!

Rosario Gauna

Gráfico Múltiple – % Utilidad x Categoría

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

Coloring between the lines

Challenge, Stack, Workout Wednesday

By: Rosario Gauna @rosariogaunag

August in the month of the challenges of the Workout Wednesday community, for the second week of the month one of the challenges I sent was selected. Link to the challenge

A thank you to all those who participated and especially to those who had enough patience to finish it.

And since the Community is always a source of learning for me, I want to share that I found that, for the solution, we mainly divided into two large groups according to the technique used to obtain the coloring between the lines:

  • Technique with Stack On. When the “marks” are accumulated, that is, when they are drawn cumulatively on the axis.
  • Technique with Stack Off. When “marks” are not accumulated, that is, when they are drawn independently through the axis. That is, the “marks” overlap.

Then, with the learning achieved, I share a solution procedure to the challenge using both techniques, in addition to solving it, helping us to understand the main differences and similarities between the techniques.

Step 1: Define parameter “Select EFC or EFP”

So that the user can choose between:

  • “EFConsPerCap” – Ecological Footprint of Consumption (EFC)
  • “EFProdPerCap” – Ecological Footprint of Production (EFP)

Picture02

Step 2: Define the “Filter” variable to filter the data.

Its value will be TRUE for all those records corresponding to the “Biological Capacity per Capita” and for those in which “Ecological Footprint per Capita” matches the one selected by the user in the parameter.

Filter =

[Record]=”BiocapPerCap” OR [Record]=[Select EFC or EFP]

Step 3: Define the “Record Type” variable.

The variable will have only two values: 1) “Biological Capacity” and 2) “Ecological Footprint” regardless of whether it is its consumption or production value.

Record Type =

IIF([Record]=”BiocapPerCap”, “Biological Capacity”, “Ecological Footprint”)

Step 4: Define the measures of Biological Capacity and Ecological Footprint

This in order to have an independent variable according to the record that is treated.

Biological Capacity =

IIF([Record] = “BiocapPerCap”, [Total], 0)

Ecological Footprint =

IIF(([Record] <> “BiocapPerCap”, [Total], 0)

Step 5: Define the variables of “Green Area”, “Red Area” and “White Area”.

According to the technique used, the formulas will be defined. You have to remember that in the:

  • Technique: Stack ON- The “marks” are accumulated and they are drawn cumulatively on the axis. That is, the new “mark” starts where the last “mark” drawn on the axis ended.
  • Technique: Stack OFF- The “marks” are not accumulated and they are drawn independently through the axis. That is to say, each “mark” begins to be charted in the zero value of the axis and the last one is superimposed over the previous ones in the area in which they coincide.

Picture04

Step 6: Define the chart.

A chart with synchronized double axis will be used. The first chart will be of the area type and the second chart will be of the line type.

Move to the shelves of:

Picture07

Indicate the option of Stack to use:

  • Stack On. It is the automatic option in the “Analysis” menu – “Stack Marks” – “Automatic” option.
  • Stack Off. In the menu of “Analysis” – “Stack Marks” select the option of Off.

According to the technique used, change the order in which the variables should be displayed. The key is in the orderin which the “White Area”is deployed.

  • Stack On. “White Area” must be the first to be charted, so that it starts at the zero value of the axis and then the deltas of the red and green areas are plotted.
  • Stack Off. “White Area” must be the last one to be charted, so that it covers or splices over the “Green Area” and the “Red Area” previously plotted. (The “Analysis” menu must be modified – “Stack Marks” to select the Off option)

Picture05

Step 7: Adjust the tooltips, colors and formats.

And with this we conclude the chart of colored between lines!

Link to Tableau Public

Picture01

You can see that both techniques have a similar level of difficulty.

Which technique do you prefer to use for your next line shading chart?

  • Technique with Stack On. When the “marks” are accumulated on the axis.
  • Technique with Stack Off. When the “marks” are not accumulated on the axis and the “marks” are superimposed on each other.

Next, I share a diagram to review how the “measures” of the area chart would look if they were adding one after another, in both techniques:

Picture06

If you have any questions about the blog, do not hesitate to contact me on twitter (@rosariogaunag)

Regards!

Rosario Gauna

Coloreado entre líneas

Challenge, Stack, Workout Wednesday

Por: Rosario Gauna @rosariogaunag

Agosto en el mes de los retos de la comunidad de Workout Wednesday, para la segunda semana del mes quedó seleccionado uno de los retos que envié. Link al reto

Un agradecimiento a todos los que participaron y muy especialmente a los que tuvieron la paciencia suficiente para terminarlo.

Y dado que siempre la Comunidad es una fuente de aprendizaje para mí, les quiero compartir que encontré que, para la solución, nos dividimos principalmente en dos grandes grupos de acuerdo con la técnica utilizada para obtener el sombreado entre las líneas:

  • Técnica de área con Stack On. Es decir, cuando las “marks” están acumuladas, es decir, cuando son dibujadas acumulativamente en el eje.
  • Técnica de área con Stack Off. Es decir, cuando las “marks” no son acumuladas, es decir, cuando son dibujadas independientemente a través del eje. Esto es, las “marks” se sobreponen.

A continuación, con el aprendizaje logrado, comparto un procedimiento de solución al reto utilizando ambas técnicas, para además de resolverlo, ayudarnos a comprender las principales diferencias y similitudes entre las técnicas.

Paso 1: Definir parámetro “Select EFC or EFP”

Para que el usuario pueda elegir entre:

  • “EFConsPerCap” – Ecological Footprint of Consumption (EFC)
  • “EFProdPerCap” – Ecological Footprint of Production (EFP)

Picture02

Paso 2: Definir la variable de “Filter” para filtrar los datos.

Su valor será TRUE para todos aquellos registros correspondientes a la “Biological Capacity per Capita” y para aquellos en el que “Ecological Footprint per Capita” coincida con el seleccionado por el usuario en el parámetro.

Filter =

[Record]=”BiocapPerCap” OR [Record]=[Select EFC or EFP]

Paso 3: Definir la variable “Record Type”.

La variable tendrá solo dos valores: 1) “Biological Capacity” y 2) “Ecological Footprint” independientemente si se trata de su valor de consumo o de producción.

Record Type =

IIF([Record]=”BiocapPerCap”, “Biological Capacity”, “Ecological Footprint”)

Paso 4: Definir las medidas de Biological Capacity y Ecological Footprint

Esto con la finalidad de contar con una variable independiente de acuerdo con el registro que se trata.

Biological Capacity =

IIF([Record] = “BiocapPerCap”, [Total], 0)

Ecological Footprint =

IIF(([Record] <> “BiocapPerCap”, [Total], 0)

Paso 5: Definir las variables de “Green Area”, “Red Area” y “White Area”.

De acuerdo con la técnica utilizada se definirán las fórmulas. Hay que recordar que en la:

  • Técnica: Stack ONLas “marks” están acumuladas y ellas son dibujadas acumulativamente en el eje. Es decir, la nueva “mark” empieza en donde terminó la última “mark” dibujada en el eje.
  • Técnica: Stack OFFLas “marks” no son acumuladas y ellas son dibujadas independientemente a través del eje. Es decir, cada “mark” empieza a graficarse en el valor cero del eje y se sobreponen la última sobre las anteriores en el área en que coincidan.

Picture03

Paso 6: Definir la gráfica.

Se utilizará una gráfica con eje doble sincronizado. La primera gráfica será de tipo de área y la segunda gráfica será de tipo de líneas.

Mover a los estantes de:

Picture07B

Indicar la opción de Stack a utilizar.

  • Stack On. Es la opción automática en el menú de “Analysis” – “Stack Marks” – opción “Automatic”.
  • Stack Off. En el menú de “Analysis” – “Stack Marks” seleccionar la opción de Off.

De acuerdo con la técnica utilizada, cambia el orden en que las variables deben ser desplegadas. La clave está en el ordenen que se despliega la “White Area”.

  • StackOn. “White Area” debe ser la primera en graficarse, para que inicie en el valor cero del eje y posteriormente se grafiquen los deltas de las áreas rojas y verdes.
  • StackOff. “White Area” debe ser la última en graficarse, para que cubra o se empalme sobre la “Green Area” y la “Red Area” graficadas previamente. (Debe haberse modificado el menú de “Analysis” – “Stack Marks” para seleccionar la opción de Off)

Picture05

Paso 7: Ajuste los tooltips, los colores y los formatos.

¡Y con esto concluimos la gráfica de coloreado entre líneas! 

Link a Tableau Public

Picture01

Pueden ver que ambas técnicas tienen un nivel de dificultad similar.

¿Cuál técnica es la que tú prefieres utilizar para tu próxima gráfica de sombreado entre líneas?

  • Técnica de área con Stack On. Cuando las “marks” están acumuladas en el eje.
  • Técnica de área con Stack Off. Cuando las “marks” no son acumuladas en el eje y las “marks” se sobreponen una sobre otra.

A continuación, comparto un diagrama a forma de repaso de cómo se verían las “measures” de la gráfica de área si fueran agregando una después de otra, en ambas técnicas:

Picture06

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

¡Saludos!

Rosario Gauna

Single Sheet Drill Down

Challenge, Modeling, Union, Actions Filter, UX, Workout Wednesday

by: Rosario Gauna @rosariogaunag

Although quite late, I want to share my experience with a very special challenge from @RodyZakovich presented in week 26 of Workout Wednesday. Link to challenge

In the first lines of the writing Rody told us very properly, that he wanted to spice it up with something harder their challenges.

Ooh! Ooh! That writing on behalf of Rody, was already an alert of what awaited us.

The challenge is to achieve three levels of Drill Down on a single sheet, through the use of data modeling and “Actions Filters”.

Last year I had the opportunity to learn from @VizWizBI, the two-level Drill Down technique on the same sheet through the “State to City Drill Down” challenge of week 41 of the year 2017. Link to the challenge

But had you heard of Drill Down from three or more levels on the same sheet? I do not.

Since I read the challenge, it was for me one of those challenges that I can’t stop thinking about, until I manage to solve the enigma.

Next, I share the final procedure that I used:

Step 1: Model the data – Create a copy of the Order data for each level of Drill Down to be used.

One of the techniques to achieve this goal is to create the “Union” of the data of “Orders” of Superstore with itself. In this case, three copies of the “Orders” data are required.

Picture02

Why do I need a copy of the data for each level of Drill Down to use? Because each of the copies will present the information at the level of grouping or detail requested and will contain different data for filtering.

Picture03

Remember that to identify the copy of the data in question, Tableau automatically creates a new dimension called “Table Name” with the values “Orders”, “Orders1” and “Orders2”.

Step 2: Create the variables of “Year”, “Month” and “Day”.

Year = DATEPART(‘year’, [Order Date])
Month = DATEPART(‘month’, [Order Date])
Day = DATEPART(‘day’, [Order Date])

Step 3: Create the variables to execute the “Actions Filters”.

For each level of Drill Down (or copy of the data) two variables will be defined for the “Actions Filters”:

  • Current Filter” will define the filter applied in the current Drill Down (according to the required level indicated in step 1).
  • Next Filter” will define the filter to be applied in the next level, once the” Action Filter “is activated.

Picture04

Example of the values of the variables “Current Filter” and “Next Filter” for a subset of the data:

Picture05

Step 4: Create variable to group the sales level: “Yearly” or “Monthly” or “Daily”

This new variable will also serve to customize the axis of the “x” depending on the level of the Drill Down.

  • Yearly sales (text simulating yyyy format)
  • Monthly sales (text simulating mmm, yy format)
  • Daily sales (text simulating mmm d, yy format)
X Axis =

CASE [Table Name]

WHEN “Orders” THEN STR([Year])

WHEN “Orders1” THEN LEFT(DATENAME(“month”,[Order Date]),3) + “, “ + RIGHT(STR([Year]),2)

WHEN “Orders2” THEN LEFT(DATENAME(“month”,[Order Date]),3) + “ “ + STR([Day]) + “, “ + RIGHT(STR([Year]),2)

END

Step 5: Calculate the “Sort” variable to order the variable used in the “x” axis. Turn it into dimension.

Sort  =

INT(CASE [Table Name]
WHEN “Orders” THEN DATETRUNC(“year”,[Order Date])
WHEN “Orders1” THEN DATETRUNC(“month”,[Order Date])
WHEN “Orders2” THEN DATETRUNC(“day”, [Order Date])
END)

Step 6: Calculate the value of the sales for the bar chart and for the line chart.

Sales Bar = IIF([Table Name] <> “Orders2”, [Sales], NULL)
Sales Line = IIF([Table Name] = “Orders2”, [Sales], NULL)

Step 7: Create the bar and line chart.

Move to the shelves of:

  • Columns ⬅   “X Axis” and sort ascending by “Sort”.
  • Rows ⬅   “Sales Bar” for the bar chart and Sales Line” for the line chart.
  • Detail ⬅   “Next Filter”.

The chart uses a double axis for sales, you must synchronize both axes and hide the axis on the right side of the chart.

The chart will take shape until after the “Action Filter” of the next step has been executed.

Step 8: Define and use the “Action Filter” for the worksheet.

It is important to note that the “marks” selected by the user will send the “Next Filter” value to the “Current Filter” field once the “Action Filter” is applied.

Picture06

Next, I share a diagram of the execution of the “Action Filter” in the three levels of Drill Down:

Picture07

The example shows an “Action Filter” of a single selection, but the selection of multiple “marks” is allowed.

That is, if for example the “marks” of the years 2015 and 2016 are selected, the next level of Drill Down will show the 24 months corresponding to the two selected years.

Step 9: Adjust the tooltips and the formats.

Ready!  

Link to Tableau Public

Picture01

Before concluding, I would like to take this opportunity to tell you that I am flattered to have been selected within the group of Tableau Ambassadors.

Those who know me know that, for me, Tableau was love at first sight. For many years I worked and suffered with traditional data analysis tools, but when I saw Tableau, I knew I had to learn it.

My first training was through the materials and videos that Tableau provides us on the internet. I was amazed at the potential that was discovered before my eyes.

Quickly what used to involve a lot of time and effort in traditional tools, could easily be improved in a short period of time with Tableau.

My second stage of training began when I became acquainted with the Community of Tableau, first with the Community of #MakeoverMonday and later with that of #Workout Wednesday.

Impossible to list each of the people who have contributed to my learning with their participation. Being able to learn from the designs they share and / or learn new techniques and tricks in Tableau has been an enriching experience.

I thank each one of you! ◕‿↼◕‿↼

To conclude and return to the challenge, I thank @RodyZakovich for sharing this interesting challenge.

If you have any questions about the blog, do not hesitate to contact me on twitter (@rosariogaunag)

Regards!

Rosario Gauna