Algunas veces se nos presenta la situación de tener que trabajar con datos que han sido agregadosa diferentes niveles. Por ejemplo, para comparar el tamaño medio de los pedidos a través de regiones de ventas con el tamaño medio de los pedidos en todo el mundo es necesario calcular un valor:
A nivel de la orden (es decir, necesita sumar los valores de los elementos individuales);
A nivel de la región (es decir, tomar el valor total del pedido y el promedio por región); y
A nivel mundial (es decir, tomar el valor total del pedido y el promedio a través de todas las órdenes).
En Tableau a esto lo llamamos «nivel de detalle» (abreviado a LOD). Esto es esencialmente la forma agregada o granular los datos y se determina por las dimensiones. De forma predeterminada Tableau agregara los datos al nivel de detalle que coincida con la vista:
Los cálculos LOD funcionan mediante la construcción de subconsultas en segundo plano utilizando el lenguaje de consulta interna de Tableau para realizar agregaciones de varios niveles, donde se está realizando la pre-agregación de los datos antes de realizar la agregación primaria de la consulta principal, si desea ver cómo funciona esto puede consultar el log de registros de Tableau Software.
Por medio de las expresiones de nivel de detalle, Tableau permite que el usuario defina directamente el nivel de detalle con el que el cálculo se debe realizar, siendo la expresión de este tipo
{ FIXED [Order ID] : SUM([Sales]) }
La parte azul de la expresión es sólo una función de agregación que le indica a Tableau calcular la suma de las ventas. La parte roja es la nueva capacidad y le dice a Tableau qué nivel de detalle utilizar cuando se realiza la agregación. En este caso, se indica llevar a cabo la agregación para cada ID de pedido, independientemente de las dimensiones utilizadas en la vista.
Uno de los aspectos interesantes de la expresión FIXED, es en qué momento se calcula en Tableau. Es la única medida que se calcula antes de aplicar los filtros de dimensión, lo que le da algunas funciones de gran alcance, por el contrario, las funciones INCLUDE y EXCLUDE se calculan inmediatamente después de que se aplican los filtros de dimensión.
Hay tres tipos de expresión LOD – INCLUDE, EXCLUDE y FIXED los cuales vamos a explorar con más detalle a continuación.
INCLUDE
Si desea calcular una expresión a un nivel que es (menos agregados que / más granular que / más bajo) que el mostrado en la vista, utilice la palabra clave «INCLUDE». Esto se suma a la dimensión (es) especificadas en la vista. Como el resultado es (menos agregados / más granular) que el nivel de detalle de la vista, los valores necesitan ser agregados por cada registro al nivel de detalle indicado (por ejemplo, suma, promedio, mínimo, máximo, …).
INCLUDE calcula la agregación a nivel de detalle en la vista, e incluye la dimensión o dimensiones en sus expresiones, incluso si no están en la vista.
Una pregunta común del negocio es encontrar el promedio de una suma, por ejemplo, «¿Cuál es el total de ventas promedio generados por cada miembro del equipo de ventas en una semana?»
INCLUDE [Employee], [Week] : sum([Sales])}
En esta expresión se resumen las ventas en la vista, en primer lugar agrega por [Empleados], y luego por [Semana], dando la suma de las ventas por empleado, por semana,
EXCLUDE
Si se desea calcular un resultado en un nivel (más agregados que / menos granulado de / por encima) que en el nivel de detalle de la vista, utilice la palabra clave «EXCLUDE». Esto elimina la dimensión (es) especificada (s) de la vista. Como el resultado es (más agregada/menos granulado) que la vista. El valor debe ser duplicado para cada registro de la vista.
EXCLUDE calcula la agregación a nivel de detalle en la vista, pero excluye la dimensión o dimensiones especificadas, aunque estén en la vista.
Excluir es lo contrario de incluir, es decir, que se llevará a cabo su agregación a nivel de detalle en la vista, con la exclusión de la dimensión o dimensiones especificadas. Esto hace que sea muy útil para comparar con los totales o promedios globales. Por ejemplo, consideremos una cadena de tiendas que quiere comparar el gasto total del cliente promedio, en un promedio de gasto del cliente en cada tienda. Para este cálculo se necesita averiguar la suma de cada venta(s) de los clientes, pero dado que tienen que tener las tiendas en la vista y los clientes pueden comprar en varias tiendas, al intentar resumir las ventas seria incorrecto, ya que agregará en el nivel de detalle equivocado. En su lugar se puede escribir:
{EXCLUDE [Store] : sum([Sales])}
Este cálculo le indica a Tableau que ignore la dimensión [Store], a pesar de que está en la vista, lo que le permite alcanzar el total correcto.
FIXED
La palabra clave «FIXED» le permite especificar la agregación / granularidad independiente a las dimensiones utilizadas en la vista. Si el resultado es (agregación mayor que / menos granulado que) o no esta relacionado con la vista entonces se duplica por cada registro mostrado en la vista.
Si el resultado es (menos agregado que / más granular que) los limites mostrados en la vista, entonces la agregación hará match.
Expresiones LOD anidadas
También es posible crear cálculos que tienen múltiples expresiones LOD anidadas una dentro de la otra. Por ejemplo, se puede comenzar con el nivel de la vista, a continuación, tienen una parte interna que utiliza una expresión INCLUDE para producir un resultado más granular. Esto se envuelve en una expresión EXCLUDE lo que da como resultado que se agregue otro nivel de detalle a la salida. Por último, el cálculo del nivel de detalle se resuelve de nuevo para que coincida con el nivel de detalle de la vista.