Prefacio

Imparto asignaturas relacionadas con los sistemas multidimensionales en la Universidad de Granada desde el curso 1999-2000, tanto a nivel de Grado como de Máster. Después de un paréntesis, a partir del curso 2019-2020 he vuelto a impartir la asignatura Sistemas Multidimensionales en el Grado en Ingeniería Informática. Este documento incluye los guiones de actividades que he desarrollado como soporte a la parte práctica de esta asignatura. La parte teórica en la que se basan las prácticas se explica en las clases de teoría (no está incluida aquí).

Este libro no sustituye a ningún libro sobre las herramientas que incluye: lo que se pretende es facilitar el primer acceso a ellas y el uso de la bibliografía para profundizar en su estudio. Para conseguir este objetivo se desarrolla un caso práctico con cada conjunto de herramientas; es un caso sencillo que permite poner en práctica las herramientas al nivel que se pretende. En el caso de las herramientas ETL (Extract, Transform and Load) dedicadas a usuarios finales (Power Query y Tableau Prep) las operaciones que se presentan para implementar esquemas multidimensionales no se encuentran habitualmente en los libros sobre ellas, en este sentido, este trabajo realiza una pequeña aportación.

Partiendo de un conjunto de datos público, se realiza un diseño multidimensional a nivel conceptual; para el diseño lógico se realiza un enfoque ROLAP (Relational OLAP) en estrella. Este caso es el que se implementa con cada una de las herramientas.

El caso práctico es simple, para que no resulte un obstáculo, pero con los elementos suficientes para ilustrar los conceptos fundamentales del desarrollo multidimensional a nivel básico utilizando las herramientas consideradas.

Estructura

Está estructurado en doce capítulos que se agrupan en seis partes. Excepto la primera parte, donde se describen los datos y el diseño realizado, el resto de las partes se han definido teniendo en cuenta las herramientas que se suelen usar conjuntamente en el desarrollo de este tipo de proyectos. Así, las partes y los capítulos son los siguientes:

  1. Caso práctico: esta parte está compuesta por un solo capítulo.

    • Capítulo 1, Datos y diseño del caso práctico: se describe cómo se obtienen los datos en los que se basan el resto de capítulos, y se presentan los diseños conceptual y lógico del caso práctico. Se realiza un diseño ROLAP en estrella.
  2. Power BI con Power Query: Power BI es una herramienta destinada al desarrollo de cuadros de mando que incluye a Power Query, herramienta ETL. Se encuadra dentro del grupo de herramientas destinadas a decisores capaces de llevar a cabo sus propios desarrollos. Está compuesta por tres capítulos.

    • Capítulo 2, Operaciones básicas en Power BI: se presentan las operaciones multidimensionales básicas para definir informes a partir de un conjunto de datos en forma de tabla plana.

    • Capítulo 3, Transformaciones con Power Query: se muestra cómo transformar una tabla dinámica en una tabla plana y, partiendo de los datos en forma de tabla plana, generar las tablas de dimensiones y hechos.

    • Capítulo 4, Modelo y consultas en Power BI: se definen las relaciones entre las tablas, mediciones calculadas y jerarquías. Adicionalmente se muestran las nuevas posibilidades de consulta que ofrecen estos elementos.

  3. Tableau y Tableau Prep: Tableau se encuadra en el mismo nicho que Power BI; como herramienta ETL asociada tenemos Tableau Prep. Esta parte y la parte de Power BI tienen exactamente la misma estructura y contenido de los capítulos (por eso no se repiten a continuación).

    • Capítulo 5, Operaciones básicas en Tableau.

    • Capítulo 6, Transformaciones con Tableau Prep.

    • Capítulo 7, Modelo y consultas en Tableau.

  4. Herramientas de SQL Server: Microsoft SQL Server es un SGBD que incluye SSIS como herramienta ETL y SSAS como herramienta OLAP para diseñar la estructura multidimensional de hechos y dimensiones. Esta parte está compuesta por dos capítulos, uno dedicado a cada uno de estos componentes.

    • Capítulo 8, SSIS (SQL Server Integration Services): mediante esta herramienta, a partir de los datos en formato CSV, se generan las tablas de dimensiones y hechos en SQL Server.

    • Capítulo 9, SSAS (SQL Server Analysis Services): a partir de los datos en forma de tablas en SQL Server, definimos cubos con hechos y dimensiones en Analysis Services, que podrán ser consultados mediante herramientas OLAP de usuario final.

  5. Pentaho y Mondrian: Pentaho BI Suite es un conjunto de herramientas libres de Inteligencia de Negocio. Incluye PDI como herramienta ETL y se basa en Mondrian, motor OLAP escrito en Java. Esta parte está estructurada de forma similar a la parte de SQL Server, en dos capítulos, uno dedicado a cada uno de estos componentes, ambos sobre el SGBD libre PostgreSQL, tratando de conseguir resultados equivalentes a los de la parte anterior.

    • Capítulo 10, PDI (Pentaho Data Integration): mediante esta herramienta, a partir de los datos en formato CSV, se generan las tablas de dimensiones y hechos en PostgreSQL.

    • Capítulo 11, Mondrian: se utilizan diversas herramientas basadas en el motor OLAP Mondrian para definir el esquema multidimensional y usar los datos en PostgreSQL para realizar consultas OLAP.

  6. Soporte en R: compuesto por un solo capítulo.

    • Capítulo 12, Soporte en R: se presenta el uso de varios paquetes R para transformar una tabla dinámica en una tabla plana y esta en un diseño ROLAP en estrella.

Adicionalmente incluye un anexo dedicado a la obtención e instalación de las herramientas utilizadas.

Itinerarios sugeridos

Este libro puede resultar de interés para todas aquellas personas que conozcan la teoría de los sistemas multidimensionales y quieran iniciarse en la práctica con alguna de las herramientas. Si se quiere estudiar o recordar los aspectos básicos de la teoría, en la sección 1.2, dedicada al diseño multidimensional, se incluyen algunas referencias.

Para alguien a quien le interesen todas las herramientas, puede trabajar secuencialmente, desde el primer al último capítulo.

Las prácticas que propongo se estructuran teniendo en cuenta el tipo de herramienta. Así, se distingo tres grupos de herramientas:

  • Herramientas de usuario final: incluyen la parte OLAP y la ETL.
    • Power BI y Power Query.
    • Tableau y Tableau Prep.
  • Herramientas ETL profesionales y paquetes R.
    • SSIS
    • PDI
    • Paquetes R.
  • Herramientas OLAP profesionales.
    • SSAS.
    • Herramientas basadas en Mondrian.

El orden en el que se estudian es el que se presenta en la figura 0.1.

Itinerario de prácticas por tipo de herramienta.

Figura 0.1: Itinerario de prácticas por tipo de herramienta.

Este enfoque se traduce en el itinerario en forma de capítulos que se muestra en la figura 0.2. Aparte del capítulo de descripción del caso práctico, los colores que se usan son los mismos de la figura 0.1, y permiten identificar el tema. Cada estudiante elige solo uno de los conjuntos de herramientas de usuario final.

Capítulos del itinerario de prácticas por tipo de herramienta.

Figura 0.2: Capítulos del itinerario de prácticas por tipo de herramienta.

Los capítulos sobre las herramientas OLAP profesionales (9 y 11), se basan en los resultados de los capítulos sobre las herramientas ETL correspondientes (8 y 10). Pero, en cada uno de ellos, se ha incluido una sección que explica cómo importar los datos obtenidos en los capítulos 3, 6 o 12. De esta forma se trata de evitar que se deje de desarrollar una actividad por no haber realizado una anterior.

En caso de solo interesarse por algún conjunto de herramientas en particular, después del primer capítulo, se puede continuar por cualquiera de las partes en las que se estructura, como se muestra en la figura 0.3.

Capítulos por conjunto de herramientas.

Figura 0.3: Capítulos por conjunto de herramientas.

En la figura 0.3, los capítulos sobre herramientas de usuario final se han coloreado distinguiendo la parte exclusiva de usuario final de la parte equivalente a las herramientas profesionales (ETL y OLAP).

Adicionalmente, se pueden considerar otros itinerarios, basándose en lo ya mencionado respecto a la posibilidad de usar en los capítulos 9 y 11 los datos obtenidos en los capítulos 3, 6 o 12, que también podrían usarse en los capítulos 4 y 7.

Convenciones

En este texto se han adoptado las siguientes convenciones de escritura:

  • Los nombres de las hojas, iconos, opciones de menú, botones y las teclas aparecen en cursiva, por ejemplo, la hoja Archivo, la opción Abrir, el botón Aceptar y las teclas Ctrl+Mayús.

  • Para indicar que se pulse sobre una opción de una sección de un menú o una hoja se usa la forma menú > sección > opción. Por ejemplo: pulsa sobre Datos > Obtener datos externos > Conexiones existentes en lugar de: en el menú Datos, sección Obtener datos externos, pulsa sobre la opción Conexiones existentes. Adicionalmente, se ha tratado de incluir las imágenes de la pantalla o la zona de la pantalla donde se ubica la opción que se indica, al menos la primera vez que se hace, para que sea aún más fácil localizarla.

  • Los elementos de los ejemplos que tengan que ver con conceptos se representan en cursiva, por ejemplo, la entidad Libro. Si esos mismos conceptos se llevan a alguna herramienta informática se representan en otro tipo de letra, por ejemplo, la tabla libro. Los valores se incluyen entre comillas: por ejemplo, en la tabla libro, el campo titulo tiene el valor “Sistemas Multidimensionales”.

Desarrollo y documentación de los ejercicios en las prácticas

El caso práctico se basa en los datos del Padrón Municipal de España; cada estudiante tiene una provincia asignada que puede consultar en la plataforma de docencia (PRADO). Para desarrollar la actividad de un capítulo, se deben realizar los ejercicios que se indican en el capítulo utilizando los datos de la provincia que se tiene asignada. Los ejercicios se suelen indicar después de presentar la información necesaria para llevarlos a cabo. La presentación se hace con los datos correspondientes de los municipios de Granada (la provincia que yo tengo asignada) y se presenta todo lo necesario para desarrollar las actividades. En alguna actividad también se formulan cuestiones que se basan en lo estudiado en clase, adaptado al caso de estudio.

El desarrollo de los ejercicios se ha de documentar, incluyendo en un documento:

  • El enunciado del ejercicio.
  • Las capturas de pantalla que se indiquen en él y/o las respuestas a las preguntas que se formulen.
  • Los comentarios adicionales que se estimen oportunos (p.e., problemas o circunstancias especiales encontradas).

Al final de la actividad, ese documento, guardado en formato PDF, deberá entregarse en la plataforma de docencia, asociado a la tarea correspondiente.

Proyecto

Además del itinerario propuesto para el desarrollo de las prácticas, los estudiantes llevan a cabo una tarea adicional que consiste en el desarrollo de un sistema multidimensional de su libre elección. Ha de constar de las siguientes partes:

  • Descripción de los datos en los que se basa.

  • Diseño conceptual y lógico.

  • Desarrollo (usando cualquiera de las herramientas).

  • Funcionamiento: ejemplos de operaciones de consulta OLAP.

  • Novedades: descripción detallada de los elementos usados en el diseño y desarrollo del proyecto que no hayan sido tratados en los capítulos de este libro.

Con este último apartado se trata de fomentar que se profundice en los temas de diseño y en las herramientas de desarrollo seleccionadas más allá del contenido de este libro.