Introducción a Power Query

Lectura
20min~10 min lectura

Bienvenido al Corazón de la Transformación de Datos: Power Query

Si Power BI fuera una cocina de restaurante gourmet, los reportes y visualizaciones serían los platos exquisitos que llegan a la mesa del comensal. Pero, ¿de dónde salen esos ingredientes? ¿Cómo pasan de ser materias primas crudas y desorganizadas a componentes listos para cocinar? Ahí es donde entra Power Query. En esta lección, daremos el primer paso fundamental en cualquier proyecto de inteligencia de negocios: la preparación de los datos. Power Query es la herramienta de obtención y transformación de datos integrada en Power BI, Excel, y otras herramientas de Microsoft. Su misión es clara: permitirte conectar con fuentes de datos diversas, limpiar, remodelar y combinar esa información de manera intuitiva y poderosa, sin necesidad de ser un programador experto.

Imagina que tu trabajo depende de un reporte de ventas. Recibes un archivo Excel de cada región, cada uno con formatos de fecha distintos, nombres de columnas ligeramente diferentes y filas vacías. Hacer esto manualmente cada mes es una pesadilla propensa a errores. Power Query automatiza este proceso. Una vez que defines los pasos de transformación, puedes "refrescar" y todo el flujo de trabajo se ejecuta de nuevo sobre los nuevos datos, garantizando consistencia y ahorrándote horas de trabajo tedioso. Para un principiante, dominar Power Query es el salto cualitativo más importante, ya que cimenta la calidad y confiabilidad de todo tu análisis posterior.

Concepto Clave: El Editor de Power Query y los Pasos Aplicados

El núcleo de Power Query es su interfaz gráfica: el Editor de Power Query. Al abrirlo, no verás fórmulas complejas de inmediato, sino una lista de Pasos Aplicados en el panel de "Configuración de consulta" a la derecha. Cada acción que realizas sobre tus datos—como eliminar una columna, filtrar filas o cambiar un tipo de dato—se registra como un paso individual y secuencial. Esto no es solo un historial; es una receta reproducible. Puedes hacer clic en cualquier paso para ver el estado de los datos en ese momento, editarlo o eliminarlo sin romper el flujo completo. La magia está en que Power Query no altera el archivo de origen original; trabaja sobre una copia en memoria, aplicando esta secuencia de transformaciones cada vez que se actualiza.

Una analogía perfecta es la de una línea de ensamblaje. Tus datos crudos entran por el inicio de la cinta transportadora (la conexión a la fuente). En cada estación de trabajo (un paso aplicado), se realiza una operación específica: lavar (limpiar espacios), pulir (cambiar formatos), ensamblar (combinar tablas) y empaquetar (cargar al modelo). Si un mes llega un lote de materia prima con un defecto nuevo (por ejemplo, una columna extra), solo necesitas ajustar la estación correspondiente en la línea (editar un paso), y toda la producción se adapta. Este enfoque no destructivo y basado en pasos es lo que hace a Power Query tan robusto y flexible para el usuario empresarial.

Cómo Funciona en la Práctica: Un Ejemplo Paso a Paso

Vamos a simular una tarea común. Tienes un archivo CSV llamado "Ventas_Q1.csv" con datos desordenados. Tu objetivo es cargarlo en Power BI y dejarlo listo para el análisis. Primero, en la pantalla de inicio de Power BI Desktop, haces clic en "Obtener datos" y seleccionas "Texto/CSV". Navegas hasta tu archivo y lo importas. Inmediatamente, se abre una ventana de previsualización. En lugar de cargar directamente, haces clic en "Transformar datos". Esto te lleva al Editor de Power Query, donde comienza el verdadero trabajo.

Al inspeccionar los datos, notas varios problemas: la primera fila parece ser un título, no datos; la columna "Fecha" está en formato texto "dd/mm/aaaa"; hay una columna llamada "Comentarios" llena de notas irrelevantes para el análisis; y algunas filas tienen valores nulos en "Importe". Tu flujo de trabajo en el Editor será: 1) Usar la primera fila como encabezados. 2) Cambiar el tipo de datos de la columna "Fecha" a Fecha. 3) Eliminar la columna "Comentarios". 4) Filtrar la columna "Importe" para quitar los valores nulos. 5) Finalmente, hacer clic en "Cerrar y aplicar" para enviar los datos transformados a Power BI. Cada una de estas acciones generará un paso en la lista "Pasos Aplicados", creando un proceso automatizado para el próximo trimestre.

Código en Acción: El Lenguaje M detrás de la Interfaz

Detrás de cada clic en la interfaz de Power Query, se genera código en un lenguaje llamado M (también conocido como "Power Query Formula Language"). No necesitas escribirlo para empezar, pero entenderlo te da un poder inmenso. Al hacer clic en "Editor avanzado" en el Editor, verás el script M completo de tu consulta. Veamos un ejemplo funcional que replica el proceso descrito anteriormente.

let
    // Paso 1: Obtener los datos desde el archivo CSV
    Fuente = Csv.Document(File.Contents("C:\Datos\Ventas_Q1.csv"),[Delimiter=",", Columns=5, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    // Paso 2: Promover la primera fila a encabezados de columna
    EncabezadosPromovidos = Table.PromoteHeaders(Fuente, [PromoteAllScalars=true]),
    // Paso 3: Cambiar el tipo de datos de la columna "Fecha" a Fecha
    TipoFechaCambiado = Table.TransformColumnTypes(EncabezadosPromovidos,{{"Fecha", type date}}),
    // Paso 4: Eliminar la columna "Comentarios"
    ColumnaEliminada = Table.RemoveColumns(TipoFechaCambiado,{"Comentarios"}),
    // Paso 5: Filtrar filas donde la columna "Importe" no sea nula
    FilasFiltradas = Table.SelectRows(ColumnaEliminada, each ([Importe] <> null))
in
    FilasFiltradas

Este código es una secuencia lógica. La palabra clave let define el inicio del bloque de transformaciones, donde cada paso (como Fuente, EncabezadosPromovidos) es una variable que almacena el resultado de una operación. La palabra clave in define cuál es el resultado final que se devuelve (en este caso, la tabla FilasFiltradas). Cada función, como Csv.Document, Table.PromoteHeaders o Table.SelectRows, realiza una tarea específica. Modificar este código directamente te permite realizar transformaciones más complejas que no están disponibles en la cinta de opciones.

Tip del Experto: Siempre revisa el código M generado después de hacer transformaciones complejas a través de la interfaz. Es la mejor manera de aprender el lenguaje y de depurar problemas cuando algo no sale como esperabas. Puedes copiar y pegar fragmentos de código para reutilizarlos en otras consultas.

Veamos otro ejemplo práctico de código M: la división de una columna. Supongamos que tienes una columna "NombreCompleto" con valores como "García López, Juan" y quieres separar apellidos y nombre en columnas distintas.

let
    Fuente = ... // (Tu paso de origen anterior)
    // Dividir la columna por el delimitador coma y espacio
    ColumnaDividida = Table.SplitColumn(Fuente, "NombreCompleto", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv"), {"Apellidos", "Nombre"}),
    // Limpiar espacios en blanco alrededor de los nuevos valores
    ApellidosLimpios = Table.TransformColumns(ColumnaDividida, {{"Apellidos", Text.Trim, type text}}),
    NombreLimpio = Table.TransformColumns(ApellidosLimpios, {{"Nombre", Text.Trim, type text}})
in
    NombreLimpio

Errores Comunes y Cómo Evitarlos

Al comenzar con Power Query, es natural cometer ciertos errores. Identificarlos temprano acelerará tu aprendizaje.

1. Cargar Datos sin "Transformar Datos": El error más frecuente es hacer clic en "Cargar" inmediatamente después de seleccionar la fuente. Esto lleva los datos "crudos" directamente al modelo, perdiendo la oportunidad de limpiarlos de forma automatizada y reproducible. Solución: Cultiva el hábito de hacer clic siempre en "Transformar datos" primero, incluso si crees que los datos están bien. Inspecciona siempre en el Editor.

2. Eliminar Filas vs. Filtrar Valores Nulos de Manera Incorrecta: Usar "Eliminar filas" > "Eliminar filas en blanco" puede borrar una fila completa si *cualquier* columna está vacía, no solo la que te interesa. Puedes perder datos valiosos. Solución: Usa el filtro desplegable en la columna específica (por ejemplo, "Importe") y desmarca la casilla "(nulo)". Esto crea un paso Table.SelectRows más preciso.

3. No Verificar los Tipos de Datos: Power Query intenta inferir tipos (Texto, Número, Fecha), pero a menudo se equivoca, especialmente con fechas en formatos ambiguos (MM/DD/AAAA vs DD/MM/AAAA). Una columna de fechas detectada como texto no permitirá hacer análisis temporales. Solución: Tras cargar los datos, revisa los iconos a la izquierda de cada nombre de columna en el Editor. Haz clic en el icono y cambia manualmente al tipo correcto. Para fechas, asegúrate de que la configuración regional de Windows/Power BI sea la correcta.

4. Orden Incorrecto de los Pasos Aplicados: La secuencia importa. Si cambias el tipo de una columna a número antes de limpiar los textos no numéricos (como "N/A"), obtendrás errores. Si eliminas columnas antes de hacer una combinación (merge) que las necesita, la combinación fallará. Solución: Piensa en el flujo como un embudo: primero haz las operaciones que afectan a filas completas (filtros), luego limpia el contenido de las celdas (reemplazar valores, dividir), y finalmente ajusta los tipos de datos y elimina columnas innecesarias. Reordena pasos arrastrándolos en el panel "Pasos Aplicados" si es necesario.

Tip de Depuración: Si tu consulta falla, haz clic en el paso justo antes del error en "Pasos Aplicados". Examina los datos en ese punto. A menudo, el problema es un valor inesperado que no puede ser manejado por la transformación del siguiente paso.

Checklist de Dominio de la Introducción a Power Query

Para asegurarte de que has comprendido los fundamentos de esta lección, puedes verificar los siguientes puntos. Si puedes realizar todas estas tareas, estás listo para avanzar.

  • Puedo explicar la diferencia entre cargar datos directamente y transformarlos con Power Query, y sé por qué la segunda opción es superior para la repetibilidad.
  • Sé cómo abrir el Editor de Power Query desde Power BI Desktop usando el botón "Transformar datos".
  • Reconozco el panel "Pasos Aplicados" y entiendo que cada paso es una transformación registrada y editable en mi flujo de trabajo.
  • Puedo realizar, de manera práctica, estas cinco transformaciones básicas en un conjunto de datos de ejemplo: Promover la primera fila como encabezados, cambiar el tipo de datos de una columna, eliminar una columna, filtrar filas para remover valores nulos de una columna específica y reemplazar valores (ej: "N/D" por 0).
  • Sé qué es el lenguaje M y que es el código subyacente a mis acciones, y puedo abrir el "Editor avanzado" para verlo (aunque no necesariamente escribirlo desde cero).
  • Entiendo la importancia crítica de verificar y corregir los tipos de datos (Fecha, Número, Texto) antes de cerrar y aplicar.
  • Puedo identificar y evitar el error de eliminar filas en blanco de manera indiscriminada en lugar de filtrar nulos en una columna concreta.
  • Sé que al hacer clic en "Cerrar y aplicar", los datos transformados se cargan en el modelo de Power BI y el proceso se puede repetir automáticamente al actualizar.

Conclusión y Siguientes Pasos

Has dado el primer y más crucial paso en el viaje de Power BI. Comprender Power Query no es solo aprender a usar una herramienta; es adoptar una mentalidad de automatización y calidad de datos. Has visto cómo una interfaz aparentemente simple esconde un motor potente y un lenguaje (M) que, con el tiempo, puedes aprender a dominar. Los cimientos que has establecido aquí—conectar, inspeccionar, limpiar y cargar—serán utilizados en cada proyecto futuro.

En las próximas lecciones, profundizaremos en transformaciones más avanzadas: cómo combinar datos de múltiples archivos o bases de datos, realizar unpivot (desanclar) columnas para estructuras de datos más analíticas, agrupar y agregar valores, y escribir código M personalizado para lógica de negocio compleja. Recuerda que la práctica es clave. Te animamos a que busques un archivo propio, desordenado, e intentes replicar lo aprendido. Cometer errores y resolverlos es la forma más efectiva de interiorizar estos conceptos. Power Query es tu aliado para convertir el caos de los datos en información clara y accionable.