La normalización de bases de datos es la manera de organizar tus datos para tener integridad y evitar redundancia — es decir, que la información sea coherente y no se repita innecesariamente, para poder escalar tu base de datos sin problemas. Vamos a transformar una tabla extensa de transacciones en un esquema de estrella (una tabla de hechos conectada a varias tablas de búsqueda) usando Power Query.
Paso 1: Identifica la redundancia en tu tabla actual
Una tabla de transacciones típica repite, en cada fila, toda la información del cliente y de la tienda — aunque ese mismo cliente o tienda ya haya aparecido en filas anteriores:
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| ID Transacción | ID Cliente | Nombre Cliente | Ciudad Cliente | ID Tienda | País Tienda | |
| 2 | 1001 | 5 | Ana Torres | Monterrey | 12 | México |
| 3 | 1002 | 5 | Ana Torres | Monterrey | 18 | España |
| 4 | 1003 | 9 | Luis Vega | Bogotá | 12 | México |
Fíjate cómo “Ana Torres” y “Monterrey” se repiten en dos filas distintas — esa es la redundancia que queremos eliminar, separando la información en tablas independientes.
Paso 2: Trae tu tabla completa a Power Query
Datos → Obtener datos → Desde un archivo → Desde libro de Excel, selecciona tu hoja de transacciones y elige Transformar datos para abrir el editor de Power Query.
Paso 3: Crea una tabla de búsqueda por cada entidad (cliente, tienda, producto)
Por cada entidad que se repite (cliente, tienda, producto), vas a duplicar la consulta original y quedarte solo con sus columnas:
- Clic derecho sobre la consulta de transacciones → Duplicar.
- Renombra la copia (por ejemplo, “Clientes”).
- Selecciona todas las columnas que pertenecen a esa entidad (mantén Shift para seleccionar un rango de columnas continuas).
- Clic derecho → Quitar otras columnas — esto elimina todo lo que no seleccionaste.
- Inicio → Quitar filas → Quitar duplicados, para quedarte con una fila por cliente único.
Repite este proceso para cada entidad (Tienda, Producto…). El resultado es una tabla de búsqueda limpia por cada una:
| A | B | C | |
|---|---|---|---|
| ID Cliente | Nombre Cliente | Ciudad Cliente | |
| 2 | 5 | Ana Torres | Monterrey |
| 3 | 9 | Luis Vega | Bogotá |
Tip para verificar: selecciona la columna de ID → pestaña Vista → Perfil de columna (activa “Cargar el conjunto de datos completo” si tu tabla tiene más de 1,000 filas, ya que por defecto Power Query solo analiza una muestra) — si “Distintos” y “Únicos” muestran el mismo número, confirmas que no quedaron duplicados.
Paso 4: Reduce la tabla original a solo IDs (tu tabla de hechos)
Regresa a tu consulta original de transacciones — esta se convierte en tu tabla de hechos (contiene los eventos que ocurren día a día: nuevas transacciones). Selecciona y elimina todas las columnas descriptivas (nombre, ciudad, país…), dejando solo las columnas de ID:
| A | B | C | D | |
|---|---|---|---|---|
| ID Transacción | ID Cliente | ID Tienda | ID Producto | |
| 2 | 1001 | 5 | 12 | 301 |
| 3 | 1002 | 5 | 18 | 112 |
| 4 | 1003 | 9 | 12 | 301 |
Toda la información descriptiva ya vive en sus propias tablas de búsqueda — la tabla de hechos solo necesita los IDs para poder conectarse a ellas cuando haga falta.
Paso 5: Carga todo al modelo de datos (no a la hoja de cálculo)
Para cada consulta (transacciones, clientes, tienda, producto): Inicio → Cerrar y cargar en… → Crear únicamente la conexión + marca Agregar esto al modelo de datos. Esto es importante especialmente si tu tabla de hechos tiene miles o millones de filas — recuerda que una hoja de Excel tiene un límite de poco más de 1 millón de filas, mientras que el modelo de datos puede manejar decenas de millones sin problema.
Paso 6: Conecta las tablas en la vista de diagrama
- Ve a Power Pivot → Administrar modelo de datos.
- Cambia a la Vista de diagrama.
- Arrastra el campo ID de cada tabla de búsqueda (por ejemplo, “ID Cliente” en la tabla Clientes) hacia el mismo campo en la tabla de hechos (Transacciones) — esto crea una relación uno a muchos.
- Repite para Tienda y Producto.
Buena práctica: coloca visualmente las tablas de búsqueda arriba y la tabla de hechos debajo — así se ve de inmediato el “esquema de estrella” (la tabla de hechos en el centro, conectada a cada tabla de búsqueda alrededor).
Paso 7: Analiza con una tabla dinámica basada en el modelo completo
Inserta una tabla dinámica y elige que se base en el modelo de datos (no en una sola hoja). Vas a poder combinar campos de todas tus tablas conectadas — por ejemplo, agrupar por país de la tienda (de la tabla Tienda) mientras cuentas transacciones (de la tabla de hechos), o agregar una segmentación de datos por marca de producto para filtrar todo el reporte a la vez.
Este esquema también te deja listo para dar el siguiente paso: escribir medidas con DAX para análisis todavía más avanzados, directamente sobre este modelo ya normalizado.