Niveles de cálculo

Tipico error de Tableau avisando que no se pueden mezclar campos agregados y no agregados.

Niveles de Cálculo en Tableau

Tableau tiene, fundamentalmente, dos modos de realizar los cálculos. O bien los computa a nivel de fila, o bien trabaja con agregados de filas. Y NO SE PUEDEN MEZCLAR. De lo contrario obtendremos el consabido No es posible mezclar argumentos de agregación y no agregación con esta función.

¿Cuál es cuál?

Nivel de fila, nivel de registro, mínimo nivel de detalle… 
Cuando la operación implica únicamente valores contenidos en ese registro.

Por ejemplo, para combinar dos campos o extraer información de uno de ellos. Puede ser todo lo complicado o todo lo sencillo que sea, lo único que importa es que no requiera valores presentes en otros registros.

Los agregados pueden estar accesibles a nivel de fila (LOD, level of detail) o no estarlo (vista y cálculos de tabla, table calculations).

Cualquier tipo de cálculo que pueda requerir valores presentes en otras filas o registros. En ocasiones la agregación será de 2 filas, o de 3, o de 1000… o de 1. Sí, puede haber agregaciones en las que sólo se usen valores de una fila.

¡Ponte a prueba con este mini test!

Espero que esta sucinta pildorilla haya hecho más sencillo distinguir estos dos tipos de campos calculados. Otras diferencias (¿las computa Tableau, la base de datos,…?) va más allá del objetivo aquí propuesto, pero aconsejo encarecidamente a quién esté más interesado en el tema que revise los artículos mencionados antes.

¡Muchas gracias por haber llegado hasta aquí!

WW2018w22-PasoAPaso

WW201822 - Paso a Paso

Enlace con los requerimientos aquí

Mi resumen aquí

Un reto en apariencia complicado que, sin embargo, se puede resolver en trece pasos y un par de cálculos de tabla:

  1. Cálculo de las ventas por estado

Tras conectar a la fuente de datos (Superstore), el primer paso es obtener una vista con las ventas por estado.

En una nueva hoja, colocamos VENTAS (sum(sales)) en columnas y STATE en filas.

  1. Filtro de región y Estados ordenados por ventas

La vista inicial del reto lanzado por Andy muestra únicamente los estados en la región del Este (aunque luego haya cambiado en su página a todos los estados)

Restringimos la vista añadiendo el campo de “Region” a la balda de filtros y seleccionando “East”.

Ordenamos los estados en función de las ventas de mayor a menor. Para ello, seleccionamos el menú desplegable de la marca de estados. A continuación, seleccionamos el tipo de orden (ascendente o descendente) que queremos obtener así como la medida que queremos usar. En este caso:
  • Orden: Descendente
  • Por: campo Sales
  • Agregación: Suma
  1. Incorporar Ciudad a la vista

En el reto planteado por Andy, cada barra muestra 1) el total de ventas del estado y 2) una etiqueta con las ventas de la ciudad con más ventas dentro de cada estado.

Vamos a comenzar por esta segunda parte. Para que en la etiqueta aparezca la ciudad, ésta debe estar en la balda de detalle.

Incorporamos CITY tanto a la balda de detalle como a las filas.

  1. Añadir RANK sobre la suma de ventas

Hay demasiadas ciudades en la vista ahora mismo. El objetivo es dejar, para cada estado, únicamente la que más contribuya a las ventas.

Podemos conseguir esto usando el cálculo de tabla “RANK”.

Hacer doble clic sobre la balda de las filas para añadir a la vista la función de RANGO: RANK(SUM([Sales]))

Inicialmente el rango aparecerá, probablemnte, calculado sobre estado y ciudad.

Nuestro objetivo es asignar el rango de cada ciudad dentro de cada estado, por lo que tenemos que alterar la selección que viene por defecto para dejar marcado únicamente la ciudad:

  1. Cambiar el RANGO a discreto

Cambiar el rango a discreto permite usarlo para ordenar las ciudades. Este paso no es estrictamente necesario, ya que podríamos usar el filtro basado en rango directamente, pero creo que es útil visualizarlo para seguir el proceso mental 

  1. Asignar el total de ventas del estado a cada una de sus ciudades

Para ello es necesario un cálculo de tabla que compute el total de ventas de cada estado.

Para ello, empezamos usando “WINDOW_SUM”, que computará el total de ventas en la vista.

En este caso, he optado por crear y guardar un cálculo nuevo en lugar de, simplemente, escribir el cálculo en la balda de columnas.
En general, es ésta una mejor práctica que, además, permite encadenar o anidar cálculos (aunque, en este caso, no vaya a ser necesario). 

Ahora, todas las filas (cada ciudad) tienen asignado el total de las ventas en la vista, debido al cálculo realizado.

  1. Configurar el cálculo de tabla para que sume las ventas dentro de cada estado.

Para que cada fila muestre el total de ventas debido únicamente al estado correspondiente, es necesario ajustar cómo se realiza el cálculo, de manera análoga a como hicimos con el rango:

  1. Transferir la suma de ventas al detalle

Para poder mostrar en la etiqueta el total de ventas, como requiere este reto, es necesario que el valor esté accesible en la vista.

Transferir la suma de ventas desde las columnas a la balda de detalle

Va así tomando forma la visualización, con una única medida representada por las barras.

  1. Duplicar el cálculo de tabla en la balda de detalle

Para poder configurar la etiqueta tal y como solicita Andy.

En este caso, basta con duplicar el cálculo de tabla previamente creado (por ejemplo, arrastrándola desde las columnas hasta la balda de detalle mientras se mantiene presionada la tecla “ctrl“)

  1. Configurar la etiqueta con los campos necesarios.

Editar la etiqueta para hacerla coincidir con los requerimientos, insertando los campos necesarios:

Además de añadir los campos, habrá que darles el formato requerido (justificación a la derecha; alineación: mitad derecha; formato de los campos: número, sin prefijo (no hay, en el original, símbolo de $, €,…) y sin decimales).

  1. Reducir el número de barras/ciudades de cada estado para mostrar únicamente la de mayor ventas

Es aquí cuando se pone de manifiesto la utilidad del cálculo de rango que realizamos antes. Basta con arrastrar el cálculo de rango hasta la balda de filtros…

…y editarlo para que únicamente se muestren las ciudades cuyo rango sea igual a “1”).

En este caso, he duplicado el cálculo de rango en lugar de únicamente arrastrarlo, para seguir mejor la construcción de la vista.

  1. Ajustar el formato (I)

Seleccionando “Ajustar Altura” nos aseguramos de que todos los estados aparezcan en la vista:

  1. Ajustar el formato (II)

 

Ocultar el encabezado tanto para el cálculo de tabla de rango (de hecho, este cálculo –aquí– es completamente prescindible para la vista que estamos construyendo) como del campo de ciudad presente en las filas.

Eliminar todas las líneas de la vista (líneas de cuadrícula, de cero, reglas de los ejes,…) 

 

 

Componer el dashboard

Paso A