Capítulo 7 Modelo y consultas en Tableau

Este capítulo es continuación del capítulo 6. Una vez tenemos los datos en formato CSV en forma de tablas de hechos y dimensiones, vamos a importarlos a Tableau, a establecer relaciones entre ellos y a definir mediciones calculadas y jerarquías. También estudiaremos las nuevas posibilidades de consulta que ofrecen estos elementos.

Objetivos del capítulo

  • Conocer más detalles del funcionamiento de Tableau.

  • Comprobar las relaciones entre los hechos y las dimensiones y, en caso necesario, definirlas.

  • Definir mediciones calculadas.

  • Definir jerarquías en las dimensiones.

  • Usar jerarquías en consultas multidimensionales.

7.1 Importar y definir relaciones entre las tablas

Cuando se inicia Tableau, en la pantalla de inicio podemos abrir un libro de trabajo anterior o definir una conexión. En este caso, tenemos que definir conexiones a los archivos que hemos obtenido con las transformaciones definidas en Tableau Prep. es decir, en la ventana Conectar, en la zona A un archivo, pulsamos sobre Archivo de texto y seleccionamos uno de los archivos CSV generados en la carpeta de trabajo.

En particular, he seleccionado el archivo correspondiente a la dimensión Cuándo, cuando_granada.csv. El resultado es que se define una conexión con el archivo y, además, se tiene acceso a los archivos CSV de la carpeta, como se puede ver en la figura 7.1, en la zona Archivos, a la izquierda.

Conectar a un archivo de texto en Tableau.

Figura 7.1: Conectar a un archivo de texto en Tableau.

7.1.1 Relaciones entre las tablas

En la zona central de la figura 7.1 se indica la operativa a seguir: Arrastre tablas para establecer relaciones entre ellas. Pulsamos-arrastramos sobre esa zona la tabla padron_granada.csv por estar relacionada con la tabla cuando_granada.csv ya incluida. Antes de soltarla sobre la zona, se indica que se establece una relación entre ellas (figura 7.2).

Relacionar dos tablas.

Figura 7.2: Relacionar dos tablas.

Al soltar la tabla, abre una ventana para definir los parámetros de la relación. Pulsando sobre Opciones de rendimiento podemos definir la cardinalidad de la relación y definir sus restricciones de integridad referencial (figura 7.3).

Definir la relación entre dos tablas.

Figura 7.3: Definir la relación entre dos tablas.

Generalmente recomiendan que, si se tiene duda, se dejen las opciones por defecto. Tal y como hemos definido las tablas de hechos y dimensiones, podemos indicar las restricciones sin problema, porque se cumplen.

En este caso, como hemos conservado los nombres de las llaves generadas de las dimensiones al definir las llaves externas en los hechos, la herramienta ha establecido automáticamente las relaciones entre las tablas. En caso de no ser así, se pueden indicar los campos en la ventana de definición de los parámetros de la relación.

De la misma forma, pulsamos-arrastramos la tabla donde_granada.csv sobre la zona de diseño y la situamos de manera que la relación se establezca con la tabla padron_granada.csv (figura 7.4).

Relacionar otra tabla.

Figura 7.4: Relacionar otra tabla.

Para esta relación, también definimos sus características en la ventana de definición de parámetros correspondiente.

7.1.2 Renombrar la fuente de datos y las tablas

La fuente de datos tiene un nombre basado en el del archivo con el que definimos la conexión (p.e., en mi caso cuando_granada+). Para renombrarla basta con pulsar sobre su nombre (en la parte superior del área de diseño), la llamamos con el nombre de la provincia (p.e., en mi caso granada).

Para renombrar las tablas, seleccionamos la opción Cambiar nombre en el menú contextual de cada una de ellas (figura 7.5).

Renombrar tablas.

Figura 7.5: Renombrar tablas.

Las renombramos con el nombre de las dimensiones y los hechos (quitando el nombre de la provincia y añadiendo la tilde): cuándo, dónde y padrón.

El resultado de la definición de la fuente de datos con las tablas y relaciones se muestra en la figura 7.6.

Tablas y relaciones.

Figura 7.6: Tablas y relaciones.

En la pantalla de definición de la fuente de datos, podemos modificar características de los atributos y medidas de nuestro diseño, pero es más ágil realizar estas operaciones desde la pantalla de definición de informes, a la que accedemos pulsando sobre la hoja Hoja 1, en la parte inferior izquierda de la ventana.

Ejercicio 7.1 Importa, renombra y define las relaciones entre las tablas de las dimensiones y de hechos generadas con Tableau Prep (captura una pantalla donde se muestre la definición de una de las relaciones y otra del esquema completo).

7.2 Selección y clasificación de campos

En la figura 7.7, se muestra la pantalla de definición de informes Hoja 1 en la que vamos a seleccionar y definir el resto de características de los campos de las tablas.

Pantalla de definición de informes.

Figura 7.7: Pantalla de definición de informes.

Los campos se muestran en la zona Datos, situada a la izquierda. Están agrupados en tablas y, dentro de cada tabla, clasificados como medidas o como dimensiones. Además de los campos de las tablas se han añadido varios campos generados automáticamente.

Seleccionando la opción Agrupar por > Carpeta en el menú contextual de cualquiera de los campos (figura 7.8), podemos tener una representación de los campos clasificados en dimensiones y medidas, independientemente de su tabla de origen.

Agrupar por carpeta los campos.

Figura 7.8: Agrupar por carpeta los campos.

El resultado de esta operación se muestra en la figura 7.9, que es la representación habitual cuando todos los datos proceden de una misma tabla

Resultado de agrupar por carpeta los campos.

Figura 7.9: Resultado de agrupar por carpeta los campos.

En nuestro caso, al estar los campos organizados en las tablas en forma de dimensiones y hechos, creo que es más adecuada la organización original en tablas, a la que podemos volver desde cualquier campo, seleccionando la opción Agrupar por > Tabla de fuente de datos en su menú contextual (figura 7.8).

7.2.1 Ocultar las llaves generadas

La función de las llaves generadas es dar soporte a la definición de relaciones entre las tablas. Por ser datos generados para ese fin, no se necesita que aparezcan en los informes. Si aparecen en la lista de campos disponibles para definir informes lo que hacen es aumentar la complejidad del modelo de datos.

Tableau ha generado en cada tabla, de forma automática, una medida Recuento para representar el número de filas que se agregan al hacer cualquier cálculo. Esta medida es útil en la tabla de hechos, pero no en las tablas de las dimensiones. Por tanto, también podemos ocultarlas para las dimensiones.

Para ocultar un campo de la zona Datos, podemos seleccionarlo y, en su menú contextual, pulsar sobre la opción Ocultar. También podemos ocultar varios campos a la vez seleccionándolos (teniendo pulsada la tecla Ctrl mientras pulsamos sobre ellos) y pulsando sobre dicha opción.

En la figura 7.10, se muestra la aplicación de la operación Ocultar a los campos que consideramos que no son necesarios para realizar informes.

Ocultar campos de las tablas.

Figura 7.10: Ocultar campos de las tablas.

7.2.2 Eliminar la función geográfica

Tableau ofrece la posibilidad de representar los datos geográficos directamente en un mapa. Permite asociar datos importados con los datos geográficos que almacena para hacer las representaciones. Esta asociación se puede realizar manualmente pero también trata de hacerla de forma automática. En este caso, consigue realizarla para el campo Provincia, que solo tiene una instancia. Por este motivo, añade las medidas Latitud (generado) y Longitud (generado) a las instancias de las dimensiones asociadas con su información geográfica (en este caso para la única instancia de la provincia de Granada). He hecho pruebas para definir la correspondencia a nivel municipio (en lugar de a nivel provincia), pero hay muchos municipios que no reconoce24.

Por tanto, lo que vamos a hacer es cambiar la definición del campo Provincia para eliminar la asociación geográfica. Esta operación se puede hacer desde su menú contextual, seleccionando la opción Función geográfica > Ninguno (figura 7.11).

Eliminar la función geográfica de un campo.

Figura 7.11: Eliminar la función geográfica de un campo.

7.2.3 Cambio en el tipo de datos

Los códigos numéricos los considera como números enteros, por tanto, mediciones. Los podemos definir como dimensiones y dejarlos como números. Los campos dimensión numéricos se usan para indexar series, generalmente series temporales. En el caso de códigos numéricos, mi recomendación es cambiarles el tipo a cadena para evitar esa posible interpretación en la representación.

En nuestro diseño solo tenemos en esa situación el campo Cod municipio. Podemos cambiarle el tipo pulsando sobre el icono que lo representa a la izquierda de su nombre (figura 7.12) y asignarle el tipo Cadena.

Cambio del tipo de un campo.

Figura 7.12: Cambio del tipo de un campo.

7.2.4 Clasificar campos como dimensiones

Los campos numéricos de cada tabla son clasificados automáticamente como mediciones. En el caso de cambiar un campo de tipo de numérico a cadena, no se cambia de clasificación sino que se le asocia una función de agregación (Recuento) para que el resultado siga siendo numérico.

Para clasificar un campo como dimensión, seleccionamos la opción Convertir a dimensión de su menú contextual. Si seleccionamos varios campos, podemos convertirlos a dimensión a la vez, seleccionando la opción en el menú de uno de ellos.

En nuestro caso, los campos Cod Municipio (Recuento) en la tabla dónde, y los campos Decenio y Periodo en la dimensión cuándo, están considerados como medidas y deberían ser dimensiones. Los convertimos a dimensión (figura 7.13).

Convertir a dimensión.

Figura 7.13: Convertir a dimensión.

El resultado es que pasan a ser dimensiones, sin cambiarles el tipo, si el campo era de tipo cadena y era una medición, elimina la función de agregación. El resultado se muestra en la figura 7.14.

Resultado de convertir a dimensión.

Figura 7.14: Resultado de convertir a dimensión.

7.2.5 Clasificar campos como continuos

Al clasificar campos numéricos en dimensiones, aunque estuvieran definidos como continuos, los convierte en discretos. Esto ha pasado con los campos Decenio y Periodo en la dimensión cuándo. En este caso, como hemos visto en el capítulo 5, es adecuado que estén definidos como continuos (si fuese necesario se pueden cambiar a discretos en los informes).

Podemos cambiarlos a continuos, seleccionándolos y pulsando sobre Convertir a continuo en su menú contextual (figura 7.15).

Convertir a continuo.

Figura 7.15: Convertir a continuo.

Ejercicio 7.2 Selecciona y clasifica los campos de las tablas de las dimensiones y de hechos adecuadamente (captura una pantalla con el resultado final).

  • Explica CON TUS PALABRAS (no copiando y pegando) las diferencias entre campos clasificados como dimensiones, medidas, continuos y discretos en términos de Tableau.

7.3 Definición de medidas calculadas

Podemos definir un campo calculado a partir del menú contextual del cualquier campo de las tablas, seleccionando la opción Crear > Campo calculado (figura 7.16).

Crear campo calculado.

Figura 7.16: Crear campo calculado.

El campo a partir del que lo definamos, lo incluye en el cálculo. Para incluir cualquier otro campo, en lugar de escribir su nombre, podemos pulsar-arrastrar-soltar el campo desde la hoja Datos hasta la ventana de definición del campo calculado (figura 7.17). También podemos usar funciones de entre la lista que incluye la ventana de definición.

Definición de un campo calculado.

Figura 7.17: Definición de un campo calculado.

7.3.1 Medidas definidas a nivel de instancia

Definimos una medida calculada llamada Habitantes, mediante la expresión [Mujeres] + [Hombres]. Para acabar de definirlo pulsamos sobre Aplicar y, a continuación, Aceptar.

Al definirlo, se incluye en la tabla padrón, es un campo calculado pero se calcula a nivel de instancia, a partir de los valores de cada instancia que interviene. A todos los efectos es equivalente a que estuviera almacenado en la tabla padrón.

7.3.2 Medidas definidas mediante funciones de agregación

Definimos una medida calculada llamada Densidad Ha, mediante la expresión SUM([Habitantes]) / SUM([Superficie Ha]). En este caso se define mediante funciones de agregación, no se calcula a nivel de instancia sino que primero se agregan las instancias para cada medida que interviene y después se calcula.

Al definirlo, aunque está definido solo a partir de medidas de la tabla padrón no se incluye en ella, por no estar definido a nivel de instancia.

También hemos definido una medida llamada Densidad Km2 (densidad de población en habitantes por Km2).

El resultado final de las definiciones se muestra en la figura 7.18.

Medidas calculadas definidas.

Figura 7.18: Medidas calculadas definidas.

Ejercicio 7.3 Define las medidas calculadas Habitantes, Densidad Ha y Densidad Km2 según las explicaciones previas (captura una pantalla para cada medida donde se muestre su expresión de definición).

  • Si queremos que la medida caculada Habitantes no aparezca incluida en la tabla padrón, ¿cómo deberemos definirla?

  • ¿Se verá afectada alguna otra medición por el cambio en la definición de la medida Habitantes? ¿Por qué?

7.4 Definición de jerarquías

En las dimensiones podemos definir jerarquías de atributos que facilitan y ofrecen posibilidades adicionales para realizar las operaciones Drill-Down y Roll-Up.

Vamos a definir una jerarquía desde provincia hasta municipio, pasando por comarca25.

Podemos definir jerarquías desde el menú contextual de cada campo en la zona Datos, elegimos la opción Jearquía > Crear jerarquía, tal y como se muestra en figura 7.19 para el campo Provincia.

Crear una jerarquía a partir de un campo

Figura 7.19: Crear una jerarquía a partir de un campo

Con esta operación se crea una jerarquía que contiene el campo a partir del cual hemos realizado la operación. Se le asigna un nombre por defecto, el mismo del campo, en este caso Provincia, que podemos cambiar si lo consideramos conveniente. He mantenido el nombre por defecto.

Podemos añadir un nuevo campo a la jerarquía desde el menú del campo, aparece una nueva opción Jearquía > Restablecer a jerarquía que nos permite seleccionar a qué jerarquía añadirlo. Lo hacemos para el campo Comarca (figura 7.20).

Añadir un atributo a una jerarquía existente.

Figura 7.20: Añadir un atributo a una jerarquía existente.

Los campos que se añaden a una jerarquía desaparecen de la lista de campos de la tabla. Si queremos que sigan estando disponibles podemos definir una copia (y mejor añadir la copia a la jerarquía en lugar del campo). Este es el caso del campo Municipio, que debe formar parte de varias jerarquías y, además, queremos que esté disponible en la tabla. Desde su menú contextual, seleccionamos la opción Duplicar (figura 7.21).

Duplicar un campo en una tabla.

Figura 7.21: Duplicar un campo en una tabla.

De la misma forma agregamos el atributo Municipio (copia), generado en la operación anterior, obteniendo el resultado que se muestra en la figura 7.22.

Resultado de definición de la jerarquía.

Figura 7.22: Resultado de definición de la jerarquía.

Si por algún motivo nos hemos equivocado en el orden de incorporación de los campos a la jerarquía, se pueden reordenar pulsando-arrastrando-soltando un campo de la jerarquía hasta su nueva posición.

Así definimos tres jerarquías adicionales, basándonos en los campos que definen niveles sobre los municipios, con cada uno de los atributos y copias del campo Municipio. También la jerarquía asociada a los campos Decenio y Periodo. El resultado se muestra en la figura 7.23.

Resultado de definición de todas las jerarquías.

Figura 7.23: Resultado de definición de todas las jerarquías.

Ejercicio 7.4 Define las jerarquías asociadas a los atributos Provincia, Comarca, Municipio, Nivel Altitud, Nivel Habitantes y Nivel Superficie según las explicaciones previas. Define también la jerarquía asociada a los atributos Decenio, y Periodo (captura una pantalla donde se muestren todas las jerarquías).

7.5 Consultas basadas en jerarquías

Podemos definir informes basados en las jerarquías de las dimensiones. Por ejemplo, en la figura 7.24 se muestra un informe en el que hemos incorporado directamente una de las jerarquías definidas.

Consulta basada en una jerarquía.

Figura 7.24: Consulta basada en una jerarquía.

Al añadir la jerarquía al informe, el nivel más alto de la jerarquía se representa como si fuera un campo más. La diferencia respecto a un campo es que aparece un signo “+” a la izquierda de su nombre.

Si partimos de un informe a nivel Provincia y pulsamos sobre ese signo “+” (figura 7.24) obtenemos el mismo informe a nivel Comarca (figura 7.25), también con un signo “+” a su izquierda, y el signo “+” de Provincia se ha transformado en un signo “-” que permite hacer la operación contraria.

Siguiente nivel de la jerarquía.

Figura 7.25: Siguiente nivel de la jerarquía.

A partir de ese nivel, podemos pulsar sobre el signo “-” de Provincia para volver al nivel anterior, podemos seguir descendiendo por la jerarquía como acabamos de hacer o también podemos focalizar la consulta en uno o varios de los elementos definiendo filtros. En la figura 7.26 se muestra el resultado de realizar esta última operación filtrando la comarca “Las Alpujarras” y descendiendo hasta el nivel Municipio.

Modo detallado de una instancia mediante filtro.

Figura 7.26: Modo detallado de una instancia mediante filtro.

Ejercicio 7.5 Partiendo de un informe inicial cualquera (se puede obtener aplicando las operaciones que se consideren necesarias sin necesitad de explicarlas), genera nuevos informes mediante las operaciones multidimensionales. Una vez se tenga el informe inicial, el resto de informes han de generarse de forma consecutiva (sin saltarse informes intermedios).

  • Para las operaciones Roll-Up y Drill-Down usa jerarquías utilizando al menos una vez cada una de las operaciones específicas sobre jerarquías.

  • Para cada informe obtenido, indica la operación multidimensional aplicada y el nivel de detalle de los datos que representa (captura una pantalla para cada informe).


  1. Hacen falta datos adicionales que están fuera del ámbito de esta asignatura, son del ámbito de Sistemas de Información Geográfica, asignatura del Grado en Informática que también imparto y recomiendo cursar.↩︎

  2. Como solo tenemos datos de una provincia, no vamos a añadir comunidad_autonoma.↩︎