<< Back

Niveles de Cálculo en Tableau

Una versión de este artículo apareció previamente en https://dsmdaviz.com/

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?

Fila

Nivel de fila, nivel de registro, mínimo nivel de detalle, valor desasociado… 
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).

Agregados

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:

¿A qué tipo pertenecen los siguientes campos calculados? (Soluciones al final del post).

  1. LEN([Customer Name])
  2. COUNT([Customer Name])
  3. SUM([Sales])
  4. AVG([Profit])
  5. ([Sales]-[Profit])/([Sales])
  6. WINDOW_SUM(SUM([Profit]))
  7. {FIXED [Region] : SUM([Sales])}

Algunos trucos:

En ocasiones nos encontraremos con que, a pesar de saber la diferencia entre cálculos a nivel de fila y agregados, necesitamos combinarlos. ¿Qué podemos hacer en esos casos?

  1. ATTR – convirtiendo un campo a nivel de fila en agregado: cualquier campo a nivel de fila se puede convertir en un agregado simplemente calculando alguna de las funciones típicas como SUM, AVG, etc. Esto conlleva un riesgo: que en la vista haya más de una fila y se estén agregando los valores. Una solución es usar ATTR, que mostrará el valor debido si el mínimo y el máximo son el mismo valor. Pero, si el mínimo el máximo no coinciden, mostrará un asterisco (*). Si esto pasa, los cálculos dependientes probablemente fallen, pero es lo más apropiado puesto que, en este caso,
  2. LOD – convirtiendo agregados en campos a nivel de fila: un poco más complejo. Implica fijar alguna dimensión, calcular el agregado para las dimensiones fijadas, y retornar ese valor a cada fila de las dimensiones fijadas.

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í!

Agregados (2,3,4,6). Fila/Registro (1,5,7)

Leave a Reply

Your email address will not be published. Required fields are marked *