GAA1104 · Big Data e Inteligencia de Negocios · Clase 11 · Teoría

El modelo estrella

¿Qué es? ¿Cómo se diseña?
¿Qué se puede sumar? ¿Qué pasa cuando el negocio cambia?

Prof. Tomás Fernández · tomasdata.io

20:30 · antes de empezar · sin apuntes
60 s solos · 1 min en pares · 2 min todos
  1. En una planilla de ventas, ¿qué representa una fila?
  2. Una factura trae tres productos y un descuento de $30.000 sobre el total. Si la planilla copia ese descuento en las tres filas y lo sumas, ¿cuánto descuento te da?
  3. ¿Por qué casi todos los informes de gestión dicen «por» algo: por mes, por cliente, por producto?
20:36 · el mapa de esta noche

Cuatro preguntas

1

¿Qué es?

Hechos, dimensiones, medidas, atributos y llaves.

2

¿Cómo se diseña?

Cuatro pasos, en un orden que no se negocia.

3

¿Qué se puede sumar?

Tipos de tablas de hechos y medidas que no se suman.

4

¿Qué pasa cuando el negocio cambia?

Dimensiones que cambian, dimensiones compartidas, estrella vs. 3FN.

20:38 · 1 · ¿qué es?
Un modelo estrella es una forma de ordenar los datos para analizarlos: una tabla de hechos al centro —lo que pasó, medido— rodeada de dimensiones —el contexto con que lo preguntas.

Se llama «estrella» por cómo se ve dibujado: un centro y varias puntas.

20:40 · concepto · las cuatro piezas
ConceptoQué esEn Austral
Tabla de hechosregistra los eventos del negocio: una fila por eventofact_venta_linea: cada producto vendido en una factura
Medidaun número de la tabla de hechos, que se suma, se cuenta o se promediacantidad, precio unitario, costo unitario
Dimensiónuna tabla que describe el contexto del evento: quién, qué, cuándo, dóndedim_cliente, dim_producto, dim_tiempo
Atributouna columna descriptiva de una dimensión; sirve para filtrar y agruparsegmento, línea de negocio, trimestre
20:45 · la estrella de Austral
1N 1N 1N 1N fact_venta_linea numero_factura 4 llaves → dimensiones cantidad · precio · costo 6.000 → 810.000 filas dim_cliente rut · nombre · segmento región 18 filas dim_producto sku · descripción línea de negocio 16 filas dim_tiempo fecha · mes · trimestre año un día, una fila dim_comercial canal · vendedor centro de costo 4 canales

Hechos largos y flacos (muchas filas, pocas columnas); dimensiones cortas y anchas (pocas filas, mucho texto).

20:48 · concepto · las llaves
ConceptoQué esEn Austral
Llave primariala columna que identifica cada fila de una tabla, sin repetirseproducto_key en dim_producto
Llave foráneala columna del hecho que apunta a la llave primaria de una dimensiónproducto_key en fact_venta_linea
Llave natural y llave surrogatenatural: viene en los datos. Surrogate: un número inventado, que no cambia ni se escribe malrut_cliente es natural; cliente_key es surrogate
Relación 1 a Nuna fila de la dimensión se relaciona con muchas filas del hechoun producto aparece en muchas líneas de factura
Dimensión degeneradaun identificador que se queda en el hecho porque no tiene atributos propiosnumero_factura
20:51 · así se conectan las tablas
fact_venta_lineanumero_facturaproducto_keycantidadprecioFKDDF-2022-00002341660.970F-2022-000023113640.433F-2022-00002381613.604F-2022-00002542853.451F-2024-00002443064.344dim_productoproducto_keyskulíneaPK4ELE-1004Eléctrico8FIJ-4003Fijaciones11HER-2003Herramientasel producto 4 · tres líneas que apuntan a él= relación 1 a N

PK · llave primaria

Identifica cada producto. No se repite.

FK · llave foránea

Cada línea dice a qué producto pertenece.

DD · degenerada

Se queda en el hecho: no tiene atributos propios.

20:54 · por qué inventar una llave

El mismo cliente, escrito de cuatro formas

76.877.052-9123 líneas76877052-949 líneas76877052917 líneas76 877 052-912 líneascliente_key = 7Constructora Araucanía SpAuna sola fila en dim_cliente

La llave natural (el RUT) viene como la escribió cada persona. La llave surrogate es un número inventado: no lleva puntos, ni guion, ni espacios, y nunca se escribe mal.

20:57 · ¿por qué tiene esta forma?
¿Cuál es mi margen bruto por línea de negocio, por trimestre?
Palabra de la preguntaDónde vive en el modelo
margen brutomedida → se calcula desde el hecho
por línea de negocioatributo de dim_producto
por trimestreatributo de dim_tiempo

Toda pregunta de gestión tiene esta forma: un número, cortado por contexto. La estrella es esa frase hecha tabla.

21:00 · tu turno
En pares · 5 minutos · en el cuaderno

Para cada pregunta: ¿cuál es la medida, por qué dimensiones se corta y cuál es el filtro?

  1. ¿Cuánto le vendimos al segmento Minería en 2023, por vendedor?
  2. ¿Qué proveedor concentra la demanda de Lácteos en diciembre?
  3. ¿Cuántas unidades de Herramientas salieron por E-commerce cada mes?
21:05 · ¿de dónde viene la idea?

Dos sistemas, dos trabajos

Sistema que operaSistema que analiza
EjemploERP, facturación, punto de ventaData warehouse, modelo de Power BI
Trabajoescribe una factura a la vezlee 810.000 líneas a la vez
Su miedoguardar un dato en dos lugaresun JOIN de siete tablas para un gráfico
Su formanormalizada (3FN)estrella

El nombre técnico: OLTP (procesamiento de transacciones) y OLAP (procesamiento analítico). La estrella la ordenó Ralph Kimball en los 90 y sigue siendo el estándar de BI.

21:08 · 2 · ¿cómo se diseña?

Cuatro pasos, en este orden

  1. Elige el proceso de negocio — ¿qué evento quiero medir?
  2. Declara el grano — ¿qué representa una fila?
  3. Identifica las dimensiones — ¿con qué contexto lo voy a preguntar?
  4. Identifica las medidas — ¿qué números trae cada fila?

Las medidas van al final. Si empiezas por los números, terminas sumando columnas que no se pueden sumar.

21:10 · paso 1 · el proceso de negocio

Una estrella por proceso

Facturar

Evento: se emite una línea de factura.
fact_venta_linea

Cobrar

Evento: el cliente paga una factura.
fact_cobranza

Comprar

Evento: llega una orden de compra en USD.
fact_compra

El proceso es un verbo del negocio, no un área. «Finanzas» no es un proceso; cobrar sí lo es.

21:12 · paso 2 · concepto · el grano

El grano es lo que representa una fila de la tabla de hechos, dicho en una frase.

«Una fila de fact_venta_linea es un producto vendido en una factura.»

Elige el grano más fino que tengas

Desde la línea siempre puedes subir a la factura, al cliente o al mes. Desde el mes nunca puedes bajar a la línea.

Una tabla de hechos, un solo grano

El descuento se negocia por factura. Copiado en cada línea, se cuenta 2,60 veces: el margen de Austral da 14,90 % cuando el real es 24,59 %.

21:14 · el error del grano, en una factura real

La planilla: grano línea

facturaskuventadescuento
…000023ELE-1004975.52056.882
…000023HER-20031.455.58856.882
…000023FIJ-4003217.66456.882
SUM(descuento)170.646

La tabla correcta: grano factura

facturalíneasdescuento
F-2022-000023356.882
SUM(descuento)56.882

El descuento se negoció una vez, por la factura completa. La planilla lo copió en cada línea, y la suma lo cuenta tres veces. Nadie se equivocó al escribir la consulta.

21:16 · pasos 3 y 4 · tu turno
Individual · 7 minutos · en papel

Diseña la estrella de la alimentaria

El archivo del Parcial 2: ventas_alimentaria.csv. Columnas: id_venta, fecha, id_producto, producto, categoria, id_proveedor, proveedor, pais_proveedor, cantidad, precio_unitario.

  1. ¿Cuál es el proceso y cuál es el grano? Una frase para cada uno.
  2. ¿Qué tabla va al centro y cuáles van alrededor? Dibújalas, con la llave de cada una.
  3. ¿id_venta va a una dimensión?
21:23

Respiro · 5 minutos

A la vuelta: no todo número se puede sumar.

21:28 · 3 · ¿qué se puede sumar? · tres tipos de tabla de hechos
TipoUna fila es…En Austral
Transaccionalun evento, cuando ocurre. No se vuelve a tocar.una línea de factura
Snapshot periódicouna foto del estado al cierre de cada períodoel saldo por cobrar de cada cliente al cierre de cada mes
Snapshot acumulativoun proceso con hitos; la fila se actualiza a medida que avanzauna factura: emitida → vence → pagada

El archivo de Austral ya trae los tres hitos: fecha_emision, fecha_vencimiento y fecha_pago. Y 639 de las 6.000 líneas todavía no tienen fecha de pago.

21:33 · concepto · una dimensión, tres papeles
dim_tiempo una sola tabla un día, una fila fact_factura fecha_emision_key fecha_vencimiento_key fecha_pago_key emisiónvencimientopago

Se llama dimensión de rol: el mismo calendario, usado tres veces con distinto significado. No se hacen tres tablas de fechas.

21:36 · concepto · ¿qué se puede sumar?

Tres clases de medidas

ClaseSe suma…Ejemplos en finanzas
Aditivapor cualquier dimensiónventa, costo, cantidad, descuento (a su grano)
Semiaditivaentre clientes o productos, nunca en el tiemposaldo por cobrar, saldo de caja, stock
No aditivapor ninguna dimensiónmargen %, precio unitario, tipo de cambio, DSO

El saldo de marzo más el de abril no es el saldo de nada. Al cierre de un trimestre se informa el último, no la suma.

21:40 · la prueba con los números de Austral
23,0 %

promedio simple de los cuatro márgenes por línea de negocio

24,59 %

margen real de la empresa, calculado desde las partes

LíneaSeguridadHerramientasEléctricoFijaciones
Margen32,8 %27,1 %19,7 %12,5 %
Venta (CLP)$1.500 MM$4.026 MM$2.962 MM$640 MM

Promediar les da el mismo voto a Fijaciones y a Herramientas, que vende seis veces más. Guarda lo aditivo; calcula el cociente al final.

21:43 · tu turno
En pares · 5 minutos

¿Cada medida es aditiva, semiaditiva o no aditiva? Si es aditiva, ¿a qué grano?

a

cantidad

b

precio_unitario

c

descuento_factura

d

tipo_cambio

e

saldo por cobrar al cierre de mes

f

días entre emisión y pago

21:48 · 4 · ¿qué pasa cuando el negocio cambia?
Comercial decide que la Luminaria LED industrial 150 W (ELE-1004) deja de ser Eléctrico y pasa a Iluminación, desde enero de 2024.

¿Qué le pasa a 2023?
21:51 · concepto · dimensiones que cambian lentamente

Tipo 1 · se sobrescribe

keyskulínea
4ELE-1004Iluminación

La historia se reescribe: las ventas de 2023 aparecen en Iluminación, aunque en 2023 eran Eléctrico.

Tipo 2 · se agrega una fila

keyskulíneavigencia
4ELE-1004Eléctricohasta 31-12-2023
17ELE-1004Iluminacióndesde 01-01-2024

La historia se conserva: cada venta apunta a la versión del producto que existía ese día.

Fíjate en el tipo 2: el sku se repite. Por eso el hecho guarda una llave surrogate y no el código del producto.

21:55 · ¿quién decide?
En pares · 3 minutos · defiende una
El directorio pide el margen por línea de negocio de 2023 contra 2024.
¿Tipo 1 o tipo 2?
Experto de negocio internoLa pregunta que le haces
Control de Gestión«¿El informe de 2023 se reexpresa con la clasificación nueva, o se respeta como se cerró?»
22:00 · concepto · varias estrellas, un solo calendario

Dimensiones compartidas

Proceso (tabla de hechos)tiempoclienteproductocomercial
fact_venta_linea✔✔✔✔
fact_venta_factura (descuento, flete)✔✔—✔
fact_cobranza✔✔——

Si las tres estrellas usan la misma dim_tiempo y la misma dim_cliente, sus números se pueden poner lado a lado. Si cada una tiene su propio calendario, Comercial y Contabilidad no van a cuadrar nunca.

22:05 · concepto · estrella, copo de nieve y 3FN
3FNCopo de nieveEstrella
Ideanada se repitedimensiones normalizadas en cadenadimensiones planas, repiten a propósito
Ejemploproducto → categoría → …dim_producto → dim_linea_negociolinea_negocio dentro de dim_producto
Ganaescribir sin anomalíasun poco de espacioleer rápido, fácil de entender
Vive enel ERPalgunos data warehousesel modelo del reporte
La 3FN es cómo lo guardas. La estrella es cómo lo entregas.
22:10 · antes del Parcial 2

Los cinco errores que más se ven

  1. Dos granos en una tabla de hechos — el descuento de la factura repetido en cada línea.
  2. Construir la dimensión con SELECT DISTINCT — en la alimentaria salen 7 proveedores donde hay 4. Se agrupa por la llave.
  3. Usar el nombre como llave — en la alimentaria, «Lácteos» y «Lacteos» se vuelven dos categorías.
  4. Sumar una medida no aditiva — márgenes, precios, saldos de distintos meses.
  5. Forzar una relación muchos a muchos — casi siempre falta una tabla de hechos.
22:13 · glosario 1 de 3 · para el cuaderno

Las piezas del modelo

Modelo estrellauna tabla de hechos al centro, rodeada de dimensiones
Tabla de hechosregistra los eventos del negocio, una fila por evento
Medidaun número de la tabla de hechos que se suma, cuenta o promedia
Dimensióntabla con el contexto del evento: quién, qué, cuándo, dónde
Atributocolumna descriptiva de una dimensión; sirve para filtrar y agrupar
Granolo que representa una fila de la tabla de hechos, en una frase
22:15 · glosario 2 de 3 · para el cuaderno

Las llaves y las relaciones

Llave primariaidentifica cada fila de una tabla, sin repetirse
Llave foráneacolumna del hecho que apunta a la llave primaria de una dimensión
Llave natural / surrogatenatural: viene en los datos (RUT, sku). Surrogate: número inventado y estable
Relación 1 a Nuna fila de la dimensión, muchas filas del hecho
Dimensión degeneradaidentificador sin atributos propios que se queda en el hecho
Dimensión de roluna misma dimensión usada varias veces con distinto significado
Dimensión compartidala misma dimensión usada por varias tablas de hechos (conformada)
22:17 · glosario 3 de 3 · para el cuaderno

Sumar, cambiar y guardar

Aditiva / semiaditiva / no aditivase suma por todo / por todo menos el tiempo / por nada
Transaccionaltabla de hechos con una fila por evento, que no se vuelve a tocar
Snapshot periódico / acumulativouna foto al cierre de cada período / un proceso cuyos hitos se van llenando
SCD tipo 1 / tipo 2al cambiar un atributo: se sobrescribe / se agrega una fila nueva con vigencia
3FN (normalizar)cada dato del negocio guardado en un solo lugar, colgado de su llave
Copo de nieveestrella con las dimensiones normalizadas en cadena
OLTP / OLAPel sistema que opera (escribe) / el que analiza (lee)
22:20 · queda planteado · no lo respondemos hoy
  1. Austral quiere ver la cartera al cierre de cada mes. ¿Cuál es el grano de esa tabla de hechos, y qué medida no puedes sumar en el tiempo?
  2. Si ELE-1004 cambió de línea en 2024, ¿cuál de los dos márgenes de Eléctrico de 2023 le muestras al directorio, y a quién se lo preguntas antes?
Ticket de salida · 3 minutos
  1. ¿Cuál es el grano de fact_venta_linea, en una frase?
  2. ¿Qué medida semiaditiva conoces, y por qué no se suma en el tiempo?
  3. Del 1 al 5, ¿qué tan seguro te sientes para diseñar la estrella del Parcial 2?
← → avanzar · P proyector · F pantalla completa
GAA1104 · Clase 11 · Teoría · El modelo estrella 20:30 1 / 34