¿Por qué un artículo de 2021 sigue siendo tan actual?

Porque el texto de Nikola Ilic en Data Mozart explica un principio de arquitectura — dónde ocurre el procesamiento — y no solo una secuencia de clics. Las pantallas cambian; el costo de mover datos y transformar en el lugar equivocado permanece.

La idea central sigue vigente: cuando es posible, Power Query traduce los pasos M al lenguaje nativo del origen, como SQL, y pide al propio origen que haga el trabajo. Esto reduce los datos transferidos, la memoria del motor de mashup y, con frecuencia, el tiempo de actualización.

El artículo también acierta al mostrar que pequeños detalles — una función diferente, el orden de los pasos o la forma de expresar una unión — pueden cambiar el plan. Lo que ha evolucionado son las herramientas de diagnóstico, especialmente en Power Query Online.

Qué hace realmente query folding

El script M describe el resultado deseado. Durante la evaluación, Power Query consulta las capacidades y metadatos del origen, identifica qué transformaciones puede delegar y las combina en una solicitud nativa. El trabajo restante se ejecuta en el motor de Power Query después de que llegan los datos.

Imagine un filtro sobre una tabla SQL de cien millones de filas. Con folding, la base aplica el WHERE y devuelve solo el recorte necesario. Sin folding, Power Query puede recibir un conjunto mucho mayor para filtrarlo localmente. El resultado parece igual, pero el recorrido — y el costo — son muy diferentes.

Diagrama de evaluación con query folding entre el script M, el origen SQL y el motor de transformación
Con folding, parte del script M se convierte en una consulta del origen; solo lo que no puede delegarse queda en el motor de transformación. Imagen: Microsoft Learn.

Folding completo, parcial o inexistente

La evaluación no es simplemente “se plegó” o “no se plegó”. La documentación actual distingue tres resultados, una diferencia esencial para diagnosticar con precisión.

  • Folding completo: el origen procesa todas las transformaciones y Power Query hace el mínimo trabajo local.
  • Folding parcial: el origen ejecuta la parte traducible; las transformaciones restantes quedan en el motor de Power Query.
  • Sin folding: el origen entrega los datos sin procesar las transformaciones, que se realizan localmente.

Cuándo cambia el resultado del proyecto

En modo Importación, folding suele producir actualizaciones más rápidas y menor consumo de CPU y memoria en el gateway o la capacidad. En DirectQuery, las transformaciones deben ser traducibles dentro de las limitaciones del modo. En la actualización incremental, el filtro de partición debe llegar al origen; de lo contrario, puede perderse la ventaja de recuperar solo la ventana necesaria.

Folding no lo explica todo. Actúa en la obtención y transformación de datos. Un visual lento, una medida DAX costosa o un modelo demasiado grande requieren otra investigación. Separe el tiempo de actualización del tiempo de renderizado antes de optimizar.

Flujo de evaluación mostrando el script M, el motor de Power Query, el origen SQL y la salida
Sin delegación suficiente, más datos cruzan la conexión y más transformaciones quedan bajo responsabilidad del motor local. Imagen: Microsoft Learn.

El orden de los pasos es una decisión de rendimiento

Reduzca el conjunto mientras el origen todavía puede ayudar: filtre filas pronto, conserve solo las columnas necesarias y prefiera operaciones reconocidas por el conector. Deje las transformaciones personalizadas, funciones fila por fila y otros pasos no plegables para después de la mayor reducción posible.

No reordene a ciegas. Los orígenes y conectores tienen capacidades distintas, y Power Query usa evaluación diferida: un paso puede no ejecutarse si no contribuye al resultado. Valide la secuencia con los indicadores y el plan de consulta.

Panel Pasos aplicados de Power Query con cinco transformaciones
Los pasos forman una cadena y corresponden a identificadores del script M; seleccione cada uno para investigar hasta dónde se delega el plan. Imagen: Microsoft Learn.

Cómo verificar sin adivinar

En Power Query Online, revise los indicadores junto a cada paso y abra el plan de consulta para distinguir los nodos remotos del trabajo evaluado localmente. Cuando esté disponible, use Ver consulta nativa o Ver consulta del origen de datos para inspeccionar la solicitud generada.

En Power BI Desktop, Ver consulta nativa sigue siendo una buena primera prueba, pero una opción deshabilitada no demuestra por sí sola que nada se plegó. Use Diagnóstico de consultas y, para SQL Server, herramientas de rastreo de la base cuando necesite comprobar las solicitudes enviadas.

  • Pruebe paso a paso y registre el último punto confirmado como plegable.
  • Compare filas leídas, duración y uso de recursos antes y después del cambio.
  • Valide con el mismo conector y entorno de producción: el soporte depende del origen, conector y transformación.
  • No fuerce folding a cualquier costo; una pequeña transformación local después de una gran reducción puede ser aceptable.

Checklist para una consulta saludable

Antes de publicar o investigar una actualización lenta, use esta lista para convertir query folding en una práctica operativa y no en una superstición.

  • ¿El origen tiene motor de consultas? SQL Server y OData suelen permitir folding; CSV y Excel no.
  • ¿Los filtros de filas y la selección de columnas aparecen antes de las transformaciones costosas?
  • ¿El filtro de actualización incremental se delega hasta el origen?
  • ¿La unión usa orígenes compatibles y niveles de privacidad coherentes?
  • ¿Los indicadores o el plan confirman la ejecución remota, en vez de que la interfaz apenas lo sugiera?
  • ¿La mejora se midió en una actualización real, incluido el gateway y la capacidad?

Fuentes y lecturas complementarias