Analisis con Tableau: Novedades en Tableau 10 (II): Filtros a través de distintas bases de datos

miércoles, 14 de septiembre de 2016

Novedades en Tableau 10 (II): Filtros a través de distintas bases de datos

Para mi esta es la gran novedad de Tableau 10 y la que más impacto tiene en mi día a día. Antes de Tableau 10, para utilizar un filtro en varias bases de datos al mismo tiempo había que crear un parámetro para que este, a través de un campo calculado en cada una de las bases de datos, actuara como un filtro. El problema es que los parámetros no pueden ser de opcion múltiple por ejemplo, y aunque este método era suficiente en la mayoría de casos, tenía sus limitaciones y llevaba más trabajo.

Ahora no obstante, podemos por fin filtrar con un único filtro distintas bases de datos siempre que haya una relación establecida entre las mismas. Vamos a ver como.

¿Cómo filtrar a través de varias bases de datos en Tableau 10?

Lo primero que haremos será conectarnos a dos bases de datos independientes. Para este ejemplo, utilizaré dos de las que vienen por defecto en Tableau: World Indicators y World Bank Indicators.

Como se puede ver en las imágenes, cada base de datos tiene una serie de medidas muy diferente, y tienen algunas dimensiones que podrían ser similares, en concreto Country, Region y Year. Si estuvieramos utilizando Tableau 9, y quisiéramos filtrar por país un dashboard que utiliza las dos bases de datos, tendríamos que crear un parámetro con todos los países, crear en cada base de datos un campo calculado similar a: Parametro=Country, y utilizar dicho campo en cada uno de los gráficos del dashboard, asegurándonos que marcamos sólo la opción True. De este modo, Tableau sólo mostrará los datos correspondientes al país de nuestra base de datos que es igual que la opción seleccionada en el parámetro.



¿Cuál es la diferencia en Tableau 10? Muy sencillo, vamos a crear una simple tabla con la dimensión de País (Country) de ambas bases de datos. Arrastramos Country/Region de World Bank Indicators al estante de Filas y hacemos lo mismo con el campo Country de World Indicators. Esto será lo que obtendremos: 


Si observamos la esquina superior derecha de la imagen, vemos el icono de cada una de nuestras bases de datos. El de World Bank Indicators con una marca azul, y el de World Indicators con una marca naranja. Esto nos está indicando cual de las dos fuentes de datos es la primera (la azul) y cual la secundaria (la naranja). La base de datos que utilizamos en primer lugar en una visualiación, siempre será la primaria. En mi caso, como he arrastrado primero la dimensión de Country/Region de World Bank Indicators, esta base de datos es mi base de datos primaria. Cabe destacar además que la fuente de datos que es primaria o secundaria puede variar en cada hoja de Tableau si altero el orden en el que utilizo alguna variable de cada base de datos en otra visualización dentro del mismo workbook. Además de las marcas que nos indican la fuente de datos primaria y secundaria, vemos también que hay un icono naranja en la pildora Country que tengo en segundo lugar en el estante de filas. De nuevo esto nos indica que ese campo proviene de la fuente de datos secundaria.

Aun más importante, si observamos nuestra visualización, en este caso una tabla, vemos que estamos obteniendo los datos correctos para el campo Country/Region que proviene de nuestra fuente primaria. En cambio, de la fuente secundaria sólo estamos obteniendo el símbolo * ¿Por qué? ¿Hay algún error en nuestra base de datos? Ninguno. Lo único que tenemos que hacer es establecer una relación entre nuestras bases de datos. 

¿Qué son las relaciones entre bases de datos?
Básicamente se trata de los campos que Tableau identifica como relacionados entre dos bases de datos. Estos campos se identifican con un pequeño icono similar al eslabón de una cadena, y nos permiten realizar, por ejemplo, data blending entre varias fuentes de datos y, lo que nos interesa en este post, filtrar a través de bases de datos.

Por defecto, Tableau identificará campos que tienen exactamente el mismo nombre en dos bases de datos distintas como posibles campos a relacionar. Sin embargo, en nuestro ejemplo el nombre del campo país es distinto, por lo que Tableau no lo identifica automáticamente. Tendremos que definir manualmente la relación entre nuestra base de datos ¿Cómo hacemos esto? Muy sencillo, hacemos click en el menú Data (Datos) y luego en Edit Relationships... (Editar Relaciones...).


Vemos que en nuestro caso ya existe una relación entre la base de datos primaria y la secundaria basada en el campo Region. Como decía antes, al tener el mismo nombre, Tableau lo identifica como un campo que podemos enlazar entre las dos bases de datos. Si en esa ventana hacemos click en Custom y posteriormente en Add..., podremos definir nuevos campos que relacionar entre las bases de datos. 


Para nuestro ejemplo, vamos a seleccionar el campo Country/Region de la base de datos primaria y el campo Country de la base de datos secundaria. y hacemos click en ok. Podemos además añadir tantas relaciones como queramos y utilizar campos distintos como enlace en cada visualización. En nuestro caso volvemos a hacer click en Ok para confirmar nuestra relación.


Si miramos de nuevo a nuestras dimensiones de la base de datos secundaria, veremos que ahora el campo Country tiene un icono junto a él similar al de un eslabón de cadena, con una barra en medio y en color gris. Esto nos indica que podemos enlazar dicho campo con la base de datos secundaria, pero que ahora mismo no está activado. 


Si hacemos click en ese icono cambiará a color naranja y desaparecerá la barra en mitad de la cadena, y ahora podemos ver lo que ha ocurrido en nuestra visualización:


Efectivamente, ahora nos aparecen correctamente todos los países de nuestra base de datos secundaria junto al campo de la base de datos primaria. Ahora podemos crear una visualización con nuestra base de datos World Bank Indicators, por ejemplo, Pasajeros por Aire en cada país, y otra distinta con nuestra base de datos World Indicators, por ejemplo, un diagrama de dispersión de la mortalidad infantil y el uso de internet, y poner ambas en un mismo dashboard.

A continuación incluimos el filtro de país para una de ellas desde el dashboard a través de la pestaña de la visualización, filtros y seleccionando el campo de país:



Y por último hacemos click en la pestaña del filtro y en la opción Apply to Worksheets veremos una opción que no teníamos antes en Tableau 9: All Using Related Data Sources. Hacemos click en dicha opción y ahora el filtro de País afectará a todas las visualizaciones que hayamos creado en nuestro dashboard con alguna de esas dos bases de datos. 


Ahora podemos seleccionar solo algunos de los países utilizando el filtro y ambos gráficos mostrarán sólo los países que hayamos seleccionado. Incluso si estamos utilizando un filtro de opción múltiple.



Además podemos también seleccionar la opción Selected Worksheets en el filtro si no queremos que el filtro afecte a todos los gráficos y sólo queremos que afecte a algunos en concreto a nuestra elección. 

No hay comentarios: