Orden de operaciones en Tableau

¿Alguna vez os ha pasado en Tableau que un filtro parece funcionar de manera errática? De entre todas las causas posibles, la que os voy a contar no es la más probable ni la más sencilla, pero sí que guarda una lógica de Tableau detrás que merece la pena conocer. Las operaciones en Tableau se englobarían en dos grandes grupos: filtros y no-filtros. Por su parte, los filtros pueden ser de varios tipos dependiendo del tipo de campo y en qué momento se apliquen (por orden de antes a después):

Tableau's Order of Operations - Tableau

    • Extract Filters: vienen con el .hyper de datos, es decir, que han debido de ser tratados antes en Tableau para, en el momento de realizar el extracto, aplicar una serie de filtros que eliminen datos innecesarios y agilizar el rendimiento.
    • Data Source Filters: son aquéllos que aplicamos en el propio panel de Datos al conectarnos a una fuente de datos en Tableau.
    • Context Filters: son los primeros filtros que se aplican en la vista. Básicamente son como cualquier otro filtro de la vista y se crean igual, en un campo calculado que luego se arrastra a la Caja de Filtros. La diferencia es que éstos están en contexto, es decir, un estadio previo al resto. Se aplicarán antes que el resto de filtros de la vista, a un nivel más profundo, actuando casi como si estuvieran ahí desde el principio (en este sentido, actúan como un Extract Filter o un Data Source Filter, con la diferencia de que no tienen por qué aplicar a todas las vistas). Para convertir un filtro normal a un Context Filter, sólo hay que hacer click derecho en el filtro, dentro de la Caja de Filtros, y seleccionar > Add to context.
    • Dimension Filters: son todos los filtros normales de dimensiones, o sea, campos categóricos discretos. Ej: Nombre de la empresa.
    • Measure Filters: contrariamente a los anteriores, se corresponden con las medidas o campos numéricos cuantificables. Ej: Ingresos, gastos, número de empleados, etc.
    • Table Calculation Filters: los cálculos de tabla son uno de los temas más complejos de Tableau y haría falta un post entero sólo para ellos; pero, a grandes rasgos, se podrían definir como una serie de operaciones que se realizan por encima de la vista y sin alterar los cálculos. Esto nos permite operar con valores que sólo existen en la vista (y no en campos) fruto de la combinación de filas, columnas, marcas, filtros y todo lo que se puede hacer en Tableau hasta ese punto. Un ejemplo sería el cálculo de tabla LOOKUP(), que permite mirar atrás en la tabla o vista para coger el valor de la marca anterior para, típicamente, compararlo con el actual (una simple resta o un porcentaje de crecimiento, sin ir más lejos).

Idea: Improved documentation of Order of Operations

La complejidad radica en que no sólo tenemos filtros, sino no-filtros, otras estructuras de datos que condicionan lo que vemos. Las principales con las que nos vamos a encontrar son:

  • Sets o conjuntos: son campos personalizados que definen un subconjunto de datos basado en ciertas condiciones. Un valor puede estar DENTRO o FUERA dependiendo de si las cumple o no. + info
  • Top N: es un tipo especial de filtro que se queda solo con los N valores superiores o inferiores de un campo. El número N puede ser, o bien un entero, o bien un parámetro como os muestro aquí.
  • LOD (Level of Detail): en ocasiones, querrás que los datos tengan distintas granularidades para las marcas de una vista. Tener, por ejemplo, una gráfica de Dual Axis en la que las barras representen el número de proyectos a nivel sector y, las líneas, a nivel cliente. Para eso están los LOD. Dependiendo de si es FIXED, INCLUDE o EXCLUDE, respectivamente, el campo se calculará a la altura del campo indicado, incluirá un campo que, de por sí, estaría fuera, o sacará del cálculo un nivel que, de otra forma, estaría dentro.
  • Totales: se calculan automáticamente si seleccionas esa opción en Analysis > Totals y utilizará el método de agregación que elijas (con Suma como predeterminado). Importante darse cuenta de que los totales se computan antes que otros filtros, como el de cálculo de tabla, por ejemplo, y, por tanto, serán incorrectos.
  • Cálculos de tabla: se podrían definir como una serie de operaciones que se realizan por encima de la vista y sin alterar los cálculos. Esto nos permite operar con valores que sólo existen en la vista (y no en campos) fruto de la combinación de filas, columnas, marcas, filtros y todo lo que se puede hacer en Tableau hasta ese punto. Un ejemplo sería el cálculo de tabla LOOKUP(), que permite mirar atrás en la tabla o vista para coger el valor de la marca anterior para, típicamente, compararlo con el actual (una simple resta o un porcentaje de crecimiento, sin ir más lejos).
  • Forecast, clusters y otros modelos predictivos.

Hay más estructuras, como podréis ver en el esquema de la derecha, éstas son sólo las más comunes. Para + info.

Recuerda, que si la vista está actuando de forma extraña y no sabes por qué, puede ser por muchas razones, pero una de ellas (y de las más difíciles de detectar) es el Orden de operaciones en Tableau.

 

Autores
Comparte
Share on facebook
Share on whatsapp
Share on linkedin
Share on twitter