Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Power Query evalúa una consulta M para determinar los datos y las transformaciones necesarias para su resultado. Durante la evaluación, el plegado de consultas intenta traducir las transformaciones admitidas a operaciones que pueda realizar un origen de datos. Las transformaciones que no se pueden plegar se ejecutan en el motor de Power Query.
¿Qué es un script de Power Query M?
Un script M, también denominado código M, es el conjunto de Power Query funciones y sintaxis del lenguaje de fórmulas M que Power Query evalúa para generar un resultado de consulta. Cada consulta tiene un script M, tanto si Power Query lo crea, lo escribe en el editor avanzado o lo escribe en una consulta en blanco.
Sugerencia
Puede considerar el script M como una receta que describe cómo preparar los datos.
La forma más común de crear un script M es mediante el editor de Power Query. Por ejemplo, cuando se conecta a un origen de datos, como una base de datos de SQL Server, observe en el lado derecho de la pantalla que hay una sección denominada pasos aplicados. En esta sección se muestran todos los pasos o transformaciones usados en la consulta. En este sentido, el editor de Power Query sirve como interfaz para ayudarle a crear el script M adecuado para las transformaciones que desee y garantiza que el código que usa sea válido.
Nota:
El script M se usa en el editor de Power Query para:
- Mostrar la consulta como una serie de pasos y permitirle crear o modificar pasos.
- Mostrar un diagrama.
En este ejemplo de SQL Server, el panel Pasos aplicados contiene los pasos siguientes:
- Origen: establece la conexión con el origen de datos. En este caso, es una conexión a una base de datos SQL Server.
- Navegación: navega a una tabla específica de la base de datos.
- Se han quitado otras columnas: selecciona las columnas de la tabla que se van a conservar.
- Filas ordenadas: ordena la tabla con una o varias columnas.
- Filas superiores mantenidas: filtra la tabla para mantener solo algunas filas de la parte superior de la tabla.
Ver y editar un script M en Power Query
Este conjunto de nombres de paso es una manera amigable de ver el script M que Power Query ha creado para ti. Puede ver el script M completo de varias maneras. En Power Query, seleccione Editor avanzado en la pestaña Ver. También puede seleccionar Editor avanzado en el grupo Consulta de la pestaña Inicio. En algunas versiones de Power Query, también puede cambiar la vista de la barra de fórmulas para mostrar el script de consulta; para ello, vaya a la pestaña Ver y, en el grupo Diseño, seleccione Vista de script>Script de consulta.
La mayoría de los nombres que se encuentran en el panel Pasos aplicados también se usan tal como está en el script M. Asigne un nombre a los pasos de una consulta mediante identificadores en el lenguaje M. A veces, aparecen caracteres adicionales alrededor de los nombres de los pasos en M, pero estos caracteres no aparecen en los pasos aplicados. Un ejemplo es #"Kept top rows", que se clasifica como un identificador entre comillas debido a estos caracteres adicionales. Un identificador entre comillas permite usar cualquier secuencia de cero o más caracteres Unicode como identificador, incluidas palabras clave, espacios en blanco, comentarios, operadores y signos de puntuación. Para obtener más información sobre los identificadores en el lenguaje M, consulte Estructura léxica.
Los cambios realizados en la consulta a través del editor de Power Query actualizan automáticamente el script M de la consulta. Por ejemplo, si cambia el nombre del paso Mantener las filas superiores a Las 20 primeras filas, el nombre también cambia en la vista de script de consulta.
Recomendamos que utilice el editor de Power Query para crear todo o la mayor parte de su script M, pero puede agregar o modificar manualmente partes de su script M. Para más información, consulte la referencia del lenguaje M.
En este artículo, el script M hace referencia al código Power Query M de una consulta, al que puede acceder a través del editor avanzado o la vista de script de consulta en la barra de fórmulas.
Cómo Power Query evalúa una consulta M
Power Query evalúa un script M mediante la determinación de la salida necesaria y cómo generarlo. En el caso de las consultas que usan un origen de datos externo, la evaluación incluye la solicitud de datos desde el origen, el procesamiento de las transformaciones que se ejecutan en el motor de Power Query y la carga del resultado en un destino.
En el diagrama siguiente se explora el proceso que se produce cuando una consulta se evalúa en Power Query.
- El script M, que se encuentra dentro del editor avanzado, se envía al motor de Power Query. También se incluye otra información importante, como las credenciales y los niveles de privacidad del origen de datos.
- Power Query determina qué datos se deben extraer del origen de datos y envía una solicitud al origen de datos.
- El origen de datos responde a la solicitud de Power Query transfiriendo los datos solicitados a Power Query.
- Power Query recibe los datos entrantes del origen de datos y realiza cualquier transformación mediante el motor de Power Query si es necesario.
- Power Query carga el resultado transformado en un destino de datos.
Nota:
Este flujo muestra una consulta que lee de una base de datos de SQL Server. En el caso de una consulta sin un origen de datos externo, Power Query sigue evaluando el script M y genera un resultado, pero no se aplican las fases de solicitud y transferencia del origen de datos.
Cómo el plegado de consultas optimiza la evaluación de consultas
Cuando Power Query lee el script M, ejecuta el script a través de un proceso de optimización para evaluar la consulta de forma más eficaz. En este proceso se determina qué pasos (transformaciones) de la consulta se pueden delegar al origen de datos. También determina qué otros pasos deben evaluarse mediante el motor de Power Query.
Este proceso de optimización se denomina plegado de consultas. El plegado de consultas traduce las transformaciones M admitidas en operaciones que el origen de datos puede realizar. Power Query intenta ejecutar la mayor parte de la consulta posible en el origen de datos y evalúa las transformaciones restantes en el motor de Power Query.
Importante
Se siguen todas las reglas del Power Query lenguaje de fórmulas M (también conocido como lenguaje M). Más notablemente, la evaluación diferida desempeña un papel importante durante el proceso de optimización. En este proceso, Power Query entiende qué transformaciones específicas de la consulta deben evaluarse. Power Query también comprende qué otras transformaciones no es necesario evaluar porque no son necesarias en la salida de la consulta.
Además, cuando intervienen varios orígenes, se tiene en cuenta el nivel de privacidad de los datos de cada origen de datos al evaluar la consulta. Más información: En segundo plano del firewall de privacidad de datos
En el diagrama siguiente se muestran los pasos que tienen lugar en este proceso de optimización.
- El script M, que se encuentra dentro del editor avanzado, se envía al motor de Power Query. También se proporciona otra información importante, como las credenciales y los niveles de privacidad del origen de datos.
- El mecanismo de plegado de consultas envía solicitudes de metadatos para determinar las funcionalidades del origen de datos, esquemas de tabla, relaciones entre tablas en el origen de datos y otros metadatos.
- En función de los metadatos que recibe, el mecanismo de plegado de consultas determina qué información extraer del origen de datos y qué transformaciones deben producirse dentro del motor de Power Query. Envía instrucciones a otros dos componentes que recuperan datos del origen de datos y transforman los datos entrantes en el motor de Power Query si es necesario.
- Después de que los componentes internos de Power Query reciban las instrucciones, Power Query envía una solicitud al origen de datos mediante una consulta de origen de datos.
- El origen de datos recibe la solicitud de Power Query y transfiere los datos al motor de Power Query.
- Una vez que los datos están en Power Query, el motor de transformación de Power Query (también conocido como motor de combinación) realiza las transformaciones que no pudieron devolverse ni delegarse al origen de datos.
- Power Query carga el resultado transformado en un destino.
Nota:
En función de las transformaciones y el origen de datos utilizados en el script M, Power Query determina si transmitir o almacenar en búfer los datos entrantes.
Qué hace el plegado de consultas en Power Query
El objetivo del plegado de consultas es descargar o delegar la mayor parte de la evaluación de una consulta a un origen de datos que sea capaz de calcular las transformaciones de la consulta.
El mecanismo de plegado de consultas logra este objetivo mediante la traducción del script M a un lenguaje que el origen de datos puede interpretar y ejecutar. A continuación, transfiere la evaluación a tu origen de datos y envía el resultado de esa evaluación a Power Query.
Esta operación suele proporcionar una ejecución de consulta más rápida que extraer todos los datos necesarios del origen de datos y ejecutar todas las transformaciones necesarias en el motor de Power Query.
Al usar la experiencia de obtención de datos, Power Query le guía a través del proceso que finalmente le permite conectarse al origen de datos. Al hacerlo, Power Query usa una serie de funciones en el lenguaje M clasificadas como acceso de funciones de datos. Estas funciones específicas usan mecanismos y protocolos para conectarse al origen de datos mediante un lenguaje que el origen de datos pueda comprender.
Para las transformaciones posteriores a la función de fuente de datos, el mecanismo de plegado de consultas comprueba si puede delegarlas en la fuente de datos en lugar de procesarlas en el motor de Power Query.
Importante
Las funciones de origen de datos, que normalmente se muestran como el paso Origen de una consulta, consultan datos en el origen de datos en su lenguaje nativo. En el caso de las transformaciones después de la función de origen de datos, Power Query intenta plegar las consultas solo cuando el conector y las transformaciones lo admiten. El mecanismo puede traducir y combinar transformaciones admitidas en una sola consulta de origen de datos.
Resultados del plegamiento de consultas en Power Query
En función de cómo se estructura la consulta, podría haber tres resultados posibles en el mecanismo de plegado de consultas:
| Resultado de plegado de consultas | Procesamiento en el origen de datos | Procesamiento en el motor de Power Query |
|---|---|---|
| Plegado de consultas completas | El origen de datos procesa todas las transformaciones de consulta. | El procesamiento mínimo se produce en el motor de Power Query. |
| Plegado de consultas parciales | El origen de datos procesa las transformaciones que Power Query puede traducir al lenguaje de consulta nativo. | El motor de Power Query procesa las transformaciones restantes. |
| Sin plegado de consultas | El origen de datos devuelve los datos de origen solicitados sin procesar las transformaciones de consulta. | El motor de Power Query procesa todas las transformaciones necesarias. |
Orígenes de datos que admiten el plegado de consultas
La compatibilidad con plegado de consultas depende del conector, el origen de datos y las transformaciones de la consulta. Los conectores para orígenes de datos estructurados con capacidades de procesamiento de consultas, como SQL Server y Fuente OData, normalmente admiten el plegado de consultas. Los orígenes sin un motor de consultas, como archivos CSV y Excel, no admiten el plegado de consultas.
Durante la optimización, el motor de Power Query podría reordenar los pasos de consulta. El uso de un origen de datos con más recursos de procesamiento y funcionalidades de plegado de consultas puede reducir los tiempos de carga de consultas porque el procesamiento se produce en el origen de datos en lugar de en el motor de Power Query.
Verificar el plegado de consultas en Power Query Online
En Power Query Online, utilice los indicadores de plegado de consultas situados junto a los pasos aplicados para identificar qué pasos admiten plegado. También puede usar el plan de consulta para ver qué operaciones se ejecutan en el origen de datos y qué operaciones se ejecutan en el motor de Power Query. Estas características solo están disponibles en Power Query Online.
Cuando esté disponible, use Ver consulta nativa o Ver consulta de origen de datos para inspeccionar la solicitud que Power Query envía al origen de datos. La disponibilidad depende del conector.