Lección 8 de 36Transformar con Power Query

Introducción a Power Query

El editor que transformará tu forma de preparar datos.

15 minutos

Power Query es el motor de transformación de datos de Power BI. Es aquí donde preparas, limpias y moldeas tus datos antes de visualizarlos. Dominar Power Query es fundamental para crear análisis confiables y eficientes.

¿Qué es Power Query?

Power Query es un motor ETL (Extract, Transform, Load) integrado en Power BI que te permite:

  • Conectar a múltiples fuentes de datos
  • Transformar datos con una interfaz visual intuitiva
  • Limpiar y estandarizar información
  • Combinar datos de diferentes orígenes
  • Automatizar procesos repetitivos de preparación de datos

Ventajas de Power Query

Ventaja Descripción
Sin código Interfaz visual para transformaciones comunes
Reproducible Cada paso se registra y puede repetirse
Eficiente Query Folding optimiza el rendimiento
Flexible Lenguaje M para transformaciones avanzadas
Escalable Los mismos pasos funcionan con datos actualizados

Acceder al Editor de Power Query

Hay varias formas de abrir el Editor de Power Query en Power BI Desktop:

Método 1: Desde la cinta de opciones

  1. En Power BI Desktop, ve a la pestaña Inicio
  2. Haz clic en Transformar datos en el grupo Consultas
  3. Se abrirá el Editor de Power Query en una nueva ventana

Método 2: Durante la carga de datos

  1. Al conectar a una fuente de datos nueva
  2. Haz clic en Transformar datos en lugar de Cargar
  3. Accederás directamente al editor antes de cargar al modelo

Método 3: Editar consulta existente

  1. En el panel Campos (lado derecho)
  2. Haz clic derecho sobre una tabla
  3. Selecciona Editar consulta

Nota importante: Power Query es una ventana separada de Power BI Desktop. Los cambios aquí NO afectan tus datos originales, solo cómo se cargan a Power BI.

Interfaz del Editor de Power Query

El Editor de Power Query tiene 4 áreas principales que debes conocer:

1. Panel de Consultas (izquierda)

Aquí aparecen todas tus tablas y consultas:

  • Consultas: Tablas que se cargarán al modelo de datos
  • Otras consultas: Consultas auxiliares (no se cargan, solo sirven de referencia)
  • Funciones: Consultas reutilizables

Acciones disponibles:

  • Clic derecho para duplicar, referenciar o eliminar consultas
  • Arrastrar para reorganizar
  • Icono de ojo para habilitar/deshabilitar carga

2. Vista previa de datos (centro)

Muestra las primeras 1000 filas de la consulta seleccionada:

  • Encabezados de columna: Nombres y tipos de datos
  • Calidad de columna: Barra visual con % de valores válidos, errores y vacíos
  • Distribución de columna: Gráfico de frecuencia de valores
  • Perfil de columna: Estadísticas detalladas (min, max, promedio, etc.)

Tip: Activa las opciones de calidad y perfil en la pestaña Vista para análisis exploratorio.

3. Pasos aplicados (derecha)

Cada transformación que realizas se registra como un paso:

Origen
Tipo cambiado
Encabezados promovidos
Filas filtradas
Columnas quitadas

Características importantes:

  • Los pasos se ejecutan secuencialmente de arriba hacia abajo
  • Puedes hacer clic en cualquier paso para ver su resultado
  • El icono de engranaje te permite modificar un paso
  • La X elimina un paso (cuidado con dependencias)
  • Puedes reordenar pasos arrastrándolos

4. Barra de fórmulas

Muestra el código M del paso seleccionado:

= Table.SelectRows(#"Encabezados promovidos", each [Ventas] > 1000)
  • Los usuarios avanzados pueden editar código M directamente
  • Útil para copiar/pegar transformaciones entre proyectos
  • Puedes crear pasos personalizados desde aquí

Tu Primera Transformación

Vamos a realizar una transformación básica paso a paso para familiarizarnos con Power Query.

Escenario: Limpiar lista de clientes

Imagina que tienes una tabla de clientes con estos problemas:

  • Nombres en mayúsculas
  • Espacios extra
  • Columnas innecesarias
  • Datos duplicados

Paso 1: Cargar datos de ejemplo

  1. En Power BI Desktop, ve a Inicio > Obtener datos > Tabla en blanco
  2. En el Editor de Power Query, haz clic derecho en la consulta > Editor avanzado
  3. Pega este código M para crear datos de ejemplo:
let
    Origen = Table.FromRows(
        {
            {"JUAN PÉREZ", "  juan@email.com  ", "Madrid", "A001"},
            {"ANA LÓPEZ", "ana@email.com", "Barcelona", "A002"},
            {"JUAN PÉREZ", "  juan@email.com  ", "Madrid", "A001"},
            {"MARÍA GARCÍA", "maria@email.com  ", "Valencia", "A003"}
        },
        type table [Nombre = text, Email = text, Ciudad = text, Código = text]
    )
in
    Origen
  1. Haz clic en Listo
  2. Renombra la consulta a "Clientes" (clic derecho > Cambiar nombre)

Paso 2: Transformar nombres a formato título

  1. Selecciona la columna Nombre
  2. Ve a Transformar > Formato > Poner en mayúsculas cada palabra
  3. Observa cómo "JUAN PÉREZ" se convierte en "Juan Pérez"

Paso aplicado:

= Table.TransformColumns(Origen, {{"Nombre", Text.Proper, type text}})

Paso 3: Limpiar espacios en Email

  1. Selecciona la columna Email
  2. Ve a Transformar > Formato > Recortar
  3. Los espacios al inicio y final desaparecen

Paso aplicado:

= Table.TransformColumns(#"Texto en mayúsculas y minúsculas", {{"Email", Text.Trim, type text}})

Paso 4: Quitar columna Código

  1. Haz clic derecho en el encabezado Código
  2. Selecciona Quitar
  3. La columna desaparece de la vista previa

Paso aplicado:

= Table.RemoveColumns(#"Texto recortado", {"Código"})

Paso 5: Eliminar duplicados

  1. Selecciona todas las columnas (Ctrl+A o clic en esquina superior izquierda)
  2. Ve a Inicio > Quitar filas > Quitar duplicados
  3. La fila duplicada de Juan Pérez desaparece

Paso aplicado:

= Table.Distinct(#"Columnas quitadas", {"Nombre", "Email", "Ciudad"})

Paso 6: Aplicar y cerrar

  1. Haz clic en Cerrar y aplicar en la esquina superior izquierda
  2. Vuelves a Power BI Desktop
  3. La tabla "Clientes" aparece en el panel de Campos con los datos limpios

¡Felicidades! Has completado tu primera transformación en Power Query.

Concepto Clave: Query Folding

Query Folding es una de las características más poderosas de Power Query:

¿Qué es?

Cuando Power Query puede "traducir" tus transformaciones al lenguaje nativo de la fuente de datos (SQL, por ejemplo), el procesamiento ocurre en el servidor, no en tu computadora.

Beneficios

  • Rendimiento: Mucho más rápido con grandes volúmenes
  • Recursos: No sobrecarga tu computadora
  • Eficiencia: Solo se transfieren los datos necesarios

¿Cómo saber si hay Query Folding?

  1. Haz clic derecho en un paso de Pasos aplicados
  2. Si ves "Ver consulta nativa" habilitado, hay folding
  3. Si está deshabilitado, el paso rompe el folding

Transformaciones que mantienen Query Folding

✅ Filtrar filas ✅ Seleccionar columnas ✅ Cambiar tipos de datos ✅ Combinar consultas (merge) ✅ Agregar columnas de base de datos

Transformaciones que rompen Query Folding

❌ Agregar columnas personalizadas con funciones complejas ❌ Dividir columnas con delimitadores complejos ❌ Algunas transformaciones de texto avanzadas ❌ Invocar funciones personalizadas

Buena práctica: Coloca las transformaciones que mantienen folding al inicio de tus pasos para maximizar el rendimiento.

Diferencia: Power Query vs DAX

Es común confundir Power Query con DAX. Aquí está la diferencia:

Aspecto Power Query (Lenguaje M) DAX
Momento ANTES de cargar datos al modelo DESPUÉS de cargar datos
Propósito Transformar y preparar datos Calcular y analizar datos
Afecta a Datos de origen (ETL) Medidas y columnas calculadas
Ejemplo Filtrar filas, combinar tablas SUM, CALCULATE, año actual
Actualización Se ejecuta al refrescar datos Se ejecuta al interactuar con visual

Regla de oro: Si puedes hacerlo en Power Query, hazlo ahí. Es más eficiente que DAX para transformaciones de datos.

Mejores Prácticas desde el Inicio

1. Nombra tus pasos descriptivamente

En lugar de "Columnas quitadas1", usa nombres claros:

  • Clic derecho en el paso > Cambiar nombre
  • Ejemplo: "Quitar columnas de auditoria"
  • Facilita entender la lógica meses después

2. Documenta pasos complejos

Agrega comentarios en el código M:

// Filtrar solo ventas del año actual mayores a $1000
= Table.SelectRows(#"Paso anterior", each [Fecha] >= #date(2026,1,1) and [Ventas] > 1000)

3. Organiza tus consultas

  • Usa carpetas (grupos) para consultas relacionadas
  • Prefijos: "DIM_" para dimensiones, "FACT_" para hechos
  • Desactiva la carga de consultas intermedias

4. Mantén el orden lógico de pasos

  1. Filtrar filas no necesarias (reduce volumen)
  2. Seleccionar columnas relevantes (reduce ancho)
  3. Transformar tipos de datos
  4. Limpiar y formatear texto
  5. Agregar columnas calculadas
  6. Combinar con otras tablas

Atajos de Teclado Útiles

Atajo Acción
Ctrl + E Editar consulta
Ctrl + Z Deshacer paso
Ctrl + Y Rehacer paso
Delete Eliminar paso seleccionado
F2 Renombrar paso
Ctrl + A Seleccionar todas las columnas
Ctrl + Space Seleccionar columna actual

Puntos Clave de esta Lección

  1. Power Query es el motor ETL de Power BI - Aquí preparas datos antes de visualizarlos
  2. Interfaz de 4 áreas - Consultas, vista previa, pasos aplicados y barra de fórmulas
  3. Cada transformación es un paso - Se ejecutan secuencialmente y son reproducibles
  4. Query Folding mejora rendimiento - Cuando es posible, el procesamiento ocurre en el servidor
  5. Power Query ≠ DAX - Power Query transforma datos de origen, DAX calcula sobre datos cargados
  6. Tus cambios NO afectan datos originales - Solo modificas cómo se cargan a Power BI
  7. Las buenas prácticas desde el inicio - Nombres descriptivos y documentación ahorran tiempo

Verificación de Conocimientos

Pregunta 1

¿En qué momento del flujo de trabajo se ejecuta Power Query?

A) Después de crear visualizaciones B) Durante la interacción del usuario con el reporte C) Antes de cargar datos al modelo de datos D) Solo al publicar en el servicio

Ver respuesta

Respuesta: C) Antes de cargar datos al modelo de datos

Power Query es el paso ETL que transforma datos de origen antes de que se carguen al modelo. Se ejecuta cada vez que refrescas los datos.

Pregunta 2

¿Cuál de estas transformaciones probablemente mantiene Query Folding?

A) Agregar columna personalizada con función compleja B) Filtrar filas donde Ventas > 1000 C) Dividir columna con delimitador personalizado D) Invocar función de Python

Ver respuesta

Respuesta: B) Filtrar filas donde Ventas > 1000

Filtrar filas es una operación básica que se puede traducir fácilmente a SQL (WHERE Ventas > 1000), manteniendo el Query Folding. Las otras opciones son operaciones complejas que rompen el folding.

Pregunta 3

¿Qué indica la presencia de "Ver consulta nativa" habilitado al hacer clic derecho en un paso?

A) El paso tiene un error B) Hay Query Folding hasta ese paso C) Es necesario editarlo manualmente D) No se puede deshacer

Ver respuesta

Respuesta: B) Hay Query Folding hasta ese paso

"Ver consulta nativa" muestra la traducción del paso al lenguaje de la fuente (ej: SQL). Si está habilitado, significa que hay Query Folding activo, lo cual es excelente para el rendimiento.


Próximos Pasos

En la siguiente lección, profundizaremos en técnicas específicas para limpiar y formatear datos, incluyendo:

  • Quitar filas y columnas no deseadas
  • Reemplazar valores y corregir errores
  • Trabajar con tipos de datos correctos
  • Dividir y combinar columnas de texto
  • Rellenar valores hacia arriba y abajo

Ahora que comprendes la interfaz y el flujo de Power Query, estás listo para dominar las transformaciones más comunes.

Completaste esta leccion?

Marca esta leccion como completada. Tu progreso se guardara en tu navegador.