Inicio / Power BI / Power BI: Dashboards e Informes Profesionales / Power Query: Transformación de Datos

Power Query: Transformación de Datos

Limpia y transforma datos con Power Query: filtros, columnas calculadas, merge, append, agrupación y pivote.

Intermedio

Power Query: Transformación de Datos

Power Query es el motor de transformación de Power BI. Antes de visualizar datos, necesitas limpiarlos, darles forma y prepararlos. Power Query hace esto sin modificar la fuente original.

¿Qué es Power Query?

Power Query es un editor visual de transformaciones que genera código en lenguaje M (Power Query Formula Language) detrás de escena. Cada paso se graba y es reproducible.

Abrir el Editor de Power Query

  1. En Power BI Desktop, haz clic en Transformar datos.
  2. Se abre el Editor de Power Query con todas tus consultas.
  3. A la derecha ves los Pasos aplicados — cada transformación es un paso.

Transformaciones esenciales

Eliminar columnas innecesarias

Selecciona las columnas que NO necesitas → clic derecho → Quitar columnas.

O mejor: selecciona las que SÍ necesitas → clic derecho → Quitar otras columnas.

Cambiar tipo de dato

= Table.TransformColumnTypes(Origen, {
    {"Fecha", type date},
    {"Monto", type number},
    {"Nombre", type text}
})
Tipo Descripción Ejemplo
type text Texto / String "Juan Pérez"
type number Número decimal 1500.50
Int64.Type Número entero 42
type date Fecha 2026-03-01
type datetime Fecha y hora 2026-03-01 14:30:00
type logical Verdadero/Falso true
Percentage.Type Porcentaje 0.16

Filtrar filas

= Table.SelectRows(Anterior, each [Monto] > 0)
= Table.SelectRows(Anterior, each [Estado] = "Activo")
= Table.SelectRows(Anterior, each [Fecha] >= #date(2025, 1, 1))

Reemplazar valores

= Table.ReplaceValue(Anterior, null, 0, Replacer.ReplaceValue, {"Monto"})
= Table.ReplaceValue(Anterior, "N/A", null, Replacer.ReplaceText, {"Notas"})

Columnas calculadas en Power Query

Columna personalizada

= Table.AddColumn(Anterior, "Total con IVA", each [Precio] * 1.16, type number)

Columna condicional

= Table.AddColumn(Anterior, "Categoría", each 
    if [Monto] >= 10000 then "Alto"
    else if [Monto] >= 5000 then "Medio"
    else "Bajo",
    type text
)

Extraer partes de fecha

= Table.AddColumn(Anterior, "Año", each Date.Year([Fecha]), Int64.Type)
= Table.AddColumn(Anterior, "Mes", each Date.MonthName([Fecha]), type text)
= Table.AddColumn(Anterior, "Trimestre", each "Q" & Text.From(Date.QuarterOfYear([Fecha])), type text)

Combinar consultas

Merge (JOIN)

Equivale a un JOIN en SQL. Combina columnas de dos tablas basándose en una clave común.

= Table.NestedJoin(
    Ventas, {"ProductoID"},
    Productos, {"ID"},
    "Producto",
    JoinKind.LeftOuter
)

Tipos de combinación:

  • Left Outer — todas las filas de la primera tabla.
  • Inner — solo filas con coincidencia en ambas.
  • Full Outer — todas las filas de ambas tablas.

Append (UNION)

Apila filas de dos o más tablas con la misma estructura:

= Table.Combine({Ventas2024, Ventas2025, Ventas2026})

Agrupar datos

= Table.Group(Anterior, {"Categoría"}, {
    {"Total Ventas", each List.Sum([Monto]), type number},
    {"Cantidad", each Table.RowCount(_), Int64.Type},
    {"Promedio", each List.Average([Monto]), type number}
})

Transponer y pivotar

Pivotar columna

Convierte valores de una columna en encabezados de columna (filas → columnas).

Anular pivote (Unpivot)

Convierte columnas en filas — esencial cuando recibes datos en formato "ancho" y necesitas formato "largo" para Power BI:

ANTES (ancho):                    DESPUÉS (largo):
Producto | Ene | Feb | Mar        Producto | Mes | Ventas
A        | 100 | 150 | 200       A        | Ene | 100
B        | 80  | 90  | 110       A        | Feb | 150
                                  A        | Mar | 200
                                  B        | Ene | 80
                                  ...

Pasos aplicados

Cada transformación crea un paso en el panel derecho. Puedes:

  • Reordenar pasos (arrastrar).
  • Eliminar pasos que no necesitas.
  • Editar un paso para cambiar la transformación.
  • Insertar pasos intermedios.

Buenas prácticas en Power Query

  1. Elimina columnas innecesarias al inicio — reduce el volumen de datos.
  2. Establece tipos de dato correctos — evita errores en DAX.
  3. Nombra tus pasos — clic derecho → Cambiar nombre, para documentar.
  4. Filtra temprano — elimina filas que no necesitarás.
  5. Evita columnas calculadas complejas — mejor hacerlas con DAX en el modelo.

Resumen

Power Query limpia y transforma datos antes de cargarlos al modelo. Soporta filtros, columnas calculadas, merge, append, agrupación y pivote. Cada paso es reproducible y editable, haciendo la preparación de datos repetible y auditable.

Ejercicio interactivo — Simulación Power BI

Transforma datos con Power Query

Practica transformaciones de Power Query: limpieza de datos, columnas calculadas y filtrado.

Se te presenta una tabla con datos sucios: valores nulos, tipos incorrectos y columnas innecesarias. Tu tarea es limpiarla.

📊 Power BI Desktop
📁 Campos
💡