Modelos de Datos en Estrella y Copo de Nieve

En entradas anteriores he escrito sobre Tablas y Relaciones.

También he escrito sobre las Tablas de Hechos y Dimensiones.

En esta entrada te hablo sobre los Modelos de Datos para un Analítica.

Puedes seguir toda la Serie Power BI y otras entradas aquí:

https://www.sqlybi.com/estructura-de-sql-y-bi/

Comenzamos!

Un modelo de datos es la forma en que se estructura la información en las tablas y la forma en que se relaciona esas tablas.

Esto es un ejemplo simple de Modelo de Datos, es el Modelo de Datos que queremos tener, en concreto este es un Modelo de Datos en Estrella.

Hay 3 tipologías clásicas de Modelos de Datos para Analítica

Modelo Sábana de Datos

Modelo Copo de Nieve

Modelo Estrella

Vamos a mostrarlos, explicarlos y mostrar las ventajas de cada uno.

Modelo de Datos Sábana de Excel

Como su propio nombre indica es la típica unión mediante la función BUSCARV de varias tablas.

En este caso de las líneas de facturas, con las cabeceras (naranja) para obtener la fecha y el código del cliente y luego con la tabla de clientes (azul) y de artículos (verde) para tener el resto de los datos.

Es una forma de trabajar muy ineficiente.

Se crea una gran duplicidad de información, porque para cada línea de la tabla de hechos (facturas) con el mismo cliente o articulo estamos creando muchísima información duplicada.

Pero si nuestra capacidad es hacer estos informes en Excel y no usamos Power Pivot y Power BI, es lo que hay. No hay otra forma de hacerlo en Excel sin estas herramientas.

A partir de aquí se monta una tabla dinámica y a analizar los datos.

Pero por suerte para nosotros existe Power BI, y estamos aprendiendo a usarlo, le queda muy poco a este EXCEAL Sábana.

Modelo de Datos Copo de Nieve y Estrella

Los otros dos Modelos de Datos, son modelos relacionales, entre una única tabla de Hechos, (las facturas) y sus Dimensiones (Clientes, Artículos, Fechas-Tiempo, etc)

La diferencia entre ambos modelos es la cantidad de tablas en cada pata de la estrella (o del copo de nieve)

El modelo en estrella reúne en una única tabla cada una de las ramas de la dimensión, es decir, vamos a reunir en la tabla artículo los datos de las tablas familia y color y reunir en la tabla cliente, los datos de las tablas sectores y subsectores.

El Modelo en copo de nieve repite menos datos, pero es algo mas complicado porque tiene más tablas.

En un modelo analítico no nos importa que se repitan algunos datos de parte de alguna dimensión si conseguimos simplificar el modelo, o sea el número de tablas y sus relaciones.

Veamos una comparativa entre los tres Modelos de Datos:

Pues ya lo tienes un poco más claro.

Queremos Modelos en Estrella y si no lo tenemos, los creamos nosotros.

Modelado de datos: Microsoft Power BI ¿Que es un esquema de estrella?

Puedes leer la Serie Power BI y verás ejemplos en la entrada:

Power BI 4 Modelar En esta entrada verás como reducir varias tablas en una única tabla de dimensión.

Tengo interés en conocerte. Si quieres que te doy acceso a los ficheros de ejemplo:

    • La BBDD SQLyBI.bak
    • Y el CasoPowerBI 2.pbix, y las versiones siguientes.

Solo tienes que ponerte en contacto conmigo o dejar un comentario en la entrada, lo que prefieras.

Tipos de Información, Tablas de Hechos y Dimensiones

Cuando hablamos de recopilar información de una empresa (u otra organización) diferenciamos lo que son Hechos y Dimensiones.

Puedes pensar en información Cuantitativa y Cualitativa, es decir, cuantas cosas ocurren y de que tipo.

En nuestro Modelo ejemplo, tendremos una única tabla de Hechos que son las Facturas.

Y tres tablas de Dimensiones, Artículos, Clientes y Calendario.

Tablas de hechos en el centro y dimensiones alrededor

Analicemos primero la tabla de Hechos con las Facturas.

Primero te quiero recordar que cada línea es un Hecho, que podemos leer de la siguiente forma:

En la línea 1 de la Factura 0000181196 de la serie 01 de fecha 28/09/2018 se vendió al cliente 664 la Cantidad de 250 Ml Metros lineales del artículo 01060001600 a un PrecioNeto de 0,3698 y Coste de 0,0969.

Esto es un Hecho que realmente ocurrió, de ahí su nombre.

Tabla de Facturas es una tabla de Hechos en un Modelo Analitico

Por el contrario, las tablas de Dimensiones especifican o dan nombre a lo que ocurre en las tablas de Hechos.

El Artículo 01060001600 Es el Articulo de Nombre xxxxxxxxxx, que normalmente se sirve en Ml Metros lineales, de la Familia 01 y el Nombre de la Familia y del Color 00 y el nombre de ese color es Blanco.

Véase que Familia y Color son características inherentes al artículo. Cuando en una Factura vendemos un artículo, NO especificamos ni familia ni color, es un dato del artículo.

Y véase que aunque en el ERP tenemos tablas para Familia y Color, en un Modelo Analítico en Estrella preferimos que esté todo en la misma tabla. Simplifica y agiliza los análisis.

Tabla de dimensiones tabla articulo caracteristicas

No me paro a explicar la tabla de la Dimensión Cliente que es muy similar y nos informa del Nombre del Cliente, la ubicación con la jerarquía País, Provincia, Población.

También nos indica la antigüedad del cliente, cuando se dio de alta (aunque lo podríamos ver por su primera factura) y cual es su potencial de ventas A, B, C, etc., además del CodSector y Nombre del Sector al que pertenece.

Como antes con el artículo todo ello son características propias del Cliente.

Si que me quiero detener de nuevo en la tabla de fechas, que es una Dimensión muy especial en todos los Modelos de Business Intelligence.

Aquí definiremos la granularidad de nuestros informes.

Granularidad es el mínimo nivel de información que podemos representar.

Podemos representar ventas Anuales, Trimestrales, Mensuales, Semanales y Diarias.

No tiene sentido en este modelo de Facturas de Clientes bajar a nivel, Horas, Minutos, Segundos, etc. En otros modelos como control de producción o eficiencia de la maquinaria y los equipos OEE si tendrá sentido, pero NO en un modelo de facturas.

También podemos representar y visualizar el día de la semana, laborables o festivos, numero o nombre del mes, etc.

Tabla de dimension fecha o calendario

La Dimensión tiempo o tabla calendario, es habitual crearla o generarla en el propio modelo analítico de Business Intelligence. En el ERP no tiene mucho sentido mantener esta tabla excepto para los días festivos.

Veremos estos detalles cuando creemos la tabla Calendario mediante una expresión DAX.

Seguimos