Blending

En la entrada anterior introducimos el concepto de combinaciones y unions (joins y unions). En esta ocasión el tópico que cubriremos es blends (para evitar confusión usaré la palabra en inglés). Los blends son otro método de combinar fuentes de datos que se diferencia de las join y union en como interacciona con las diferentes fuentes de dato. Entonces, el objetivo de este post será entender el concepto de blend, aprender a ejecutar una blend y revisar algunas de sus ventajas y desventajas.

¿Qué es data blending?

Data blending nos permite hacer interactuar dos bases de datos, pero a diferencia de las joins y unions, las bases de datos se mantienen separadas. Esto nos permitirá mezclar las fuentes de datos solo para las hojas de trabajo que necesitemos, lo que en algunos casos nos será beneficioso en términos de rendimiento o aplicación. Data blending será particularmente útil si es que queremos comparar datos con diferentes niveles de agregación, tales como ventas/país comparado a ventas/persona. Sin embargo, data blending también nos presentará complicaciones si es que no lo hacemos correctamente.

¿Cómo realizamos blending?

Como mencionamos anteriormente, blending ocurre en la hoja de trabajo. Por lo tanto, para ejecutar una blend debemos habernos conectado a ambas fuentes de datos. Esto lo puedes hacer en la pantalla de conexión al realizar un clic sobre nuestro ícono de fuente de dato, en la parte superior de la pantalla.

Añadir una nueva fuente de datos separada

Ya conectados a nuestras dos bases de datos debemos dirigirnos a la hoja de trabajo. Sin embargo, antes que nada, revisemos nuestras fuentes de datos.

Supongamos que tengo la siguiente tabla (TABLA A), la cual muestra mis ventas totales por país y la meta porcentual de ventas que cada operador debe cumplir.

Tabla A

Por otra parte, tengo una tabla que muestra las ventas por operador en cada país (TABLA B).

Tabla B

Uno de los conceptos principales a considerar al hacer data blending es la relación entre ambas bases de datos. Para esto tendremos que definir cual será nuestra base de datos primaria y cual nuestra base de datos secundaria. En general, nuestra base de datos primaria será aquella con mayor granularidad (ventas/persona) ya que nuestra fuente de dato secundaria será automáticamente agregada al interactuar con nuestra fuente de dato primaria.

Dicho esto, para crear la blend agregaremos a nuestra visualización el campo común para ambas tablas (país). En la siguiente imagen podemos ver que nuestra fuente de dato primaria es marcada con un círculo azul. Por otra parte, si hacemos clic en nuestra fuente de datos secundaria veremos que hay un ícono de vínculo al costado del campo compartido por ambas fuentes de datos.

Fuentes de datos vinculadas

El símbolo de vínculo nos indica la relación entre nuestras fuentes de datos. Por defecto, Tableau creará un vínculo entre fuentes de datos si es que comparten algún campo con el mismo nombre. Por ejemplo, si le cambio el nombre al campo “País” en la base de dato secundaria, el vínculo desaparecerá.

Fuente sin vínculo señalado

Sin embargo, la relación entre nuestras fuentes de datos puede ser editada manualmente si nos dirigimos a datos->editar relaciones

Cómo editar relaciones de vínculo
  1. Seleccionar “Personalizado”
  2. Seleccionar añadir y seleccionar “País” en la fuente de datos primaria y “País dos” en la fuente de datos secundaria.

Ahora podemos ver que el ícono de vínculo ha vuelto a aparecer, lo que significa que nuestras fuentes de datos se pueden conectar. Si es que queremos desconectar ambas tablas, podemos hacer clic en el ícono, el cual cambiará a un vínculo roto.

Nuevo vínculo

Ahora que sabemos cómo crear una blend podemos responder la siguiente pregunta ¿Por qué importa el orden de nuestras fuentes de dato? Tal como mencionamos anteriormente, nuestra base de datos primaria será aquella con mayor granularidad (ventas/persona) ya que nuestra fuente de dato secundaria será automáticamente agregada. En la imagen siguiente podemos ver que, si comienzo por agregar el campo país, luego puedo usar los campos calculados agregados de mi fuente de datos secundaria sin ningún conflicto. Por otra parte, podemos ver que Tableau marcará con un círculo rojo nuestra fuente de datos secundaria y sus campos calculados.

Fuentes de datos primarias y secundarias

Por otra parte, si comienzo mi análisis con el campo “País dos” y hago de “Sheet1” la fuente primaria, esto creará un conflicto si agrego el campo “persona” de mi fuente de datos “Sheet1”. El asterisco es la manera que Tableau tiene de representar que hay múltiples valores en una celda los cuales no se pueden agregar[1].

Comparación a diferentes niveles de granularidad

Joins y blends

Veamos la diferencia entre join y blending en el siguiente ejemplo:

Si es que realizamos una join por país (el campo en común para ambas tablas) veremos que los números de nuestras ventas totales se duplicarán. Esto ocurre normalmente cuando realizamos joins entre diferentes niveles de agregación, por lo que debemos ser muy cuidadosos al realizarlas.

Diferencia entre Join y Blend

En contraste, en las siguientes imágenes podemos ver que al realizar un blend Tableau calcula ambas fuentes de datos de manera separada, por lo que nuestros resultados no se duplicarán.

  • Tablas juntadas a través de una join
Cómo se ve un join
  • Tablas juntadas con blending
Cómo se ve un blend

¿Cuándo usar data blending?

A pesar de que en este artículo hemos revisado algunos beneficios de realizar data blending, estos beneficios solo harán sentido en algunos casos específicos. La razón de esto es que las blends tienen una gran cantidad de limitaciones en cuanto a los análisis que podemos realizar.

Limitaciones:

  1. Los campos de nuestra fuente de datos secundaria estarán siempre agregados.
  2. Algunas funciones correspondientes a agregaciones no aditivas, tales como COUNTD, no son soportadas en una blend.
  3. Las fuentes de dato primaria y secundaria deben encontrarse de manera independiente en nuestro Tableau Server.
  4. No se pueden usar campos de nuestra fuente de datos secundaria en expresiones de tipo LOD.

Beneficios:

  1. Permite mezclar ciertas bases de datos que no son soportadas en una join.
  2. Debido a que las fuentes de dato secundaria están agregadas, tienden a ser más rápidas que una join.
  3. Evitan la duplicación de datos que puede generar una join al juntar diferentes niveles de detalle.

Comentarios finales

Teniendo en cuenta estas limitaciones y beneficios, es importante mencionar que hay que ser muy cuidadosos al momento de elegir como vamos a manipular nuestros datos. En general, la recomendación es usar joins cuando sea posible y solo usar blends para análisis simples en donde estemos manipulando muchos datos a la vez o estemos tratando de juntar bases de datos con diferentes niveles de agregación.

Finalmente, otro punto a señalar es que desde la versión 2020.3, el modelo de datos en Tableau cambió sustancialmente y gran parte del uso de blends es reemplazado por relaciones. La razón por la que no entramos en detalle en esto es porque el examen sigue testeando la versión 2020.1.

En la entrada siguiente comenzaremos el tópico de datos y hablaremos sobre la diferencia entre medidas, dimensiones y discreto con continuo.


[1] En términos específicos, Tableau está tratando de agregar todas las personas del país usando la función ATTR la cual es equivalente a la siguiente operación: IF MAX([Persona])=MIN([Persona]) then [Persona] else “*”.

Agregar un comentario

Su dirección de correo no se hará público. Los campos requeridos están marcados *