¿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.
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.
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.
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?