Introducción a Power Query
El editor que transformará tu forma de preparar datos.
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
- En Power BI Desktop, ve a la pestaña Inicio
- Haz clic en Transformar datos en el grupo Consultas
- Se abrirá el Editor de Power Query en una nueva ventana
Método 2: Durante la carga de datos
- Al conectar a una fuente de datos nueva
- Haz clic en Transformar datos en lugar de Cargar
- Accederás directamente al editor antes de cargar al modelo
Método 3: Editar consulta existente
- En el panel Campos (lado derecho)
- Haz clic derecho sobre una tabla
- 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
- En Power BI Desktop, ve a Inicio > Obtener datos > Tabla en blanco
- En el Editor de Power Query, haz clic derecho en la consulta > Editor avanzado
- 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
- Haz clic en Listo
- Renombra la consulta a "Clientes" (clic derecho > Cambiar nombre)
Paso 2: Transformar nombres a formato título
- Selecciona la columna Nombre
- Ve a Transformar > Formato > Poner en mayúsculas cada palabra
- 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
- Selecciona la columna Email
- Ve a Transformar > Formato > Recortar
- 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
- Haz clic derecho en el encabezado Código
- Selecciona Quitar
- La columna desaparece de la vista previa
Paso aplicado:
= Table.RemoveColumns(#"Texto recortado", {"Código"})
Paso 5: Eliminar duplicados
- Selecciona todas las columnas (Ctrl+A o clic en esquina superior izquierda)
- Ve a Inicio > Quitar filas > Quitar duplicados
- La fila duplicada de Juan Pérez desaparece
Paso aplicado:
= Table.Distinct(#"Columnas quitadas", {"Nombre", "Email", "Ciudad"})
Paso 6: Aplicar y cerrar
- Haz clic en Cerrar y aplicar en la esquina superior izquierda
- Vuelves a Power BI Desktop
- 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?
- Haz clic derecho en un paso de Pasos aplicados
- Si ves "Ver consulta nativa" habilitado, hay folding
- 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
- Filtrar filas no necesarias (reduce volumen)
- Seleccionar columnas relevantes (reduce ancho)
- Transformar tipos de datos
- Limpiar y formatear texto
- Agregar columnas calculadas
- 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
- Power Query es el motor ETL de Power BI - Aquí preparas datos antes de visualizarlos
- Interfaz de 4 áreas - Consultas, vista previa, pasos aplicados y barra de fórmulas
- Cada transformación es un paso - Se ejecutan secuencialmente y son reproducibles
- Query Folding mejora rendimiento - Cuando es posible, el procesamiento ocurre en el servidor
- Power Query ≠ DAX - Power Query transforma datos de origen, DAX calcula sobre datos cargados
- Tus cambios NO afectan datos originales - Solo modificas cómo se cargan a Power BI
- 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.