Insights / Blog

PostGenericoTableau

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)

Últimos post

Visualización de datos, ejemplos

Cultura de datos: ¿por qué es tan importante?

Qué es SQL y para qué sirve

¿Qué estás buscando?

¿Quién trata tus datos?

The Information Lab Spain, S.L.
(en adelante, “Titular“)

¿Por qué tratamos los datos que te pedimos?

Se tratan tus datos para poder prestarte los servicios solicitados. + info

¿Cuál es la legitimación para este tratamiento de tus datos?

Estos datos son necesarios para llevar a cabo la resolución de consultas que puedas plantearnos o para la prestación de los servicios que se hayan solicitado a través del Sitio Web. + info

¿Se van a hacer cesiones o transferencias con tus datos?

Tus datos no serán cedidos a terceras empresas. + info

¿Cuáles son mis derechos?

El interesado tiene derecho a ejercitar su derecho de:
Acceso, rectificación, supresión, oposición, portabilidad de los Datos, limitación del Tratamiento y a no ser objeto de decisiones automatizadas individualizadas. + info

¿Tienes dudas?

Tanto si tienes alguna o sugerencia como si quieres darte de baja ponte en contacto con nosotros enviando un email a la siguiente dirección: info@theinformationlab.es