Indicadores de plegado de consultas

Nota:

Antes de leer este artículo, se recomienda leer Información general sobre el plegado y la evaluación de consultas en Power Query para conocer mejor cómo funciona el plegado en Power Query.

Los indicadores de plegado de consultas ayudan a conocer los pasos que se pliegan o no se pliegan.

Con los indicadores de plegado de consultas, cuando se realiza un cambio que interrumpe el plegado resulta obvio. Esta característica ayuda a resolver problemas rápidamente con mayor facilidad, a evitar problemas de rendimiento en primer lugar y a obtener una mejor visión de las consultas. En la mayoría de los casos, los pasos se plegarán o no se plegarán. Pero hay muchos casos en los que el resultado no es tan obvio, y estos casos se describen en Indicadores de diagnóstico de pasos (Dinámico, Opaco y Desconocido).

Nota:

La característica de indicadores de plegado de consultas solo está disponible para Power Query Online.

Interpretación de diagnósticos de plegado de consultas

Al examinar el indicador de plegado de consultas junto a un paso, lo más importante que debe saber es que el estado de diagnóstico no es secuencial. En otras palabras, el indicador correspondiente a ese paso describe si la consulta en su conjunto, hasta ese punto, se pliega o no. Si tiene un indicador que muestra que la consulta no se pliega seguido de un indicador que muestra que sí, significa que la consulta hasta ese punto se pliega.

Esta interpretación funciona incluso con una consulta sobre en un origen SQL. Por ejemplo, mediante la Base de datos de ejemplo AdventureWorks, conéctese a la tabla Production.Product y cargue los datos. Al cargar este ejemplo a través del navegador de Power Query se proporciona la consulta siguiente:

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data]
in
  Navigation

Si examina cómo se muestra este código en los indicadores de plegado de consultas, observará que el primer paso no es concluyente. Pero el segundo paso sí se dobla, lo que significa que la consulta hasta ese punto se dobla.

Source and Navigation steps in Folding Indicator pane.

En este ejemplo, no se puede confirmar si los pasos iniciales se pliegan (no es concluyente), pero el paso final generado al cargar los datos inicialmente sí se pliega. La forma en que se controlan los primeros pasos (Origen y, a veces, otros pasos de Navegación) depende del conector. Con SQL, por ejemplo, se controla como un valor de tabla de catálogo, que no se pliega. No obstante, en cuenta seleccione los datos correspondientes a ese conector, se plegará.

Por el contrario, esto también puede significar que la consulta se pliega hasta un punto y, a continuación, deja de plegarse. A diferencia del caso en el que hay un indicador de plegado para el paso que muestra que todo se pliega, cuando hay un indicador de no plegado, no significa que nada se pliega. En su lugar, significa que "no todo" se pliega. Por lo general, todo hasta el último indicador de plegado se plegará, y después de producen más operaciones.

Al modificar el ejemplo anterior, puede proporcionar una transformación que nunca se pliega: Poner en mayúsculas cada palabra.

let
  Source = Sql.Database("ServerName", "AdventureWorks"),
  Navigation = Source{[Schema = "Production", Item = "Product"]}[Data],
  #"Capitalized each word" = Table.TransformColumns(Navigation, {{"Name", each Text.Proper(_), type text}})
in
  #"Capitalized each word"

En los indicadores de plegado de consultas, tiene los mismos indicadores que antes, salvo que el paso final no se pliega. Todo hasta este paso final se llevará a cabo en el origen de datos, mientras que el paso final se llevará a cabo localmente.

Source, Navigation, and Capitalize Each Word steps in Folding Indicator pane.

Indicadores de diagnóstico de pasos

Los indicadores de plegado de consultas usan un plan de consulta subyacente y requieren que pueda obtener información sobre la consulta para notificarla. Actualmente, el plan de consulta solo admite tablas, por lo que algunos casos (listas, registros, primitivos) no se notificarán como plegados o no. De forma similar, las tablas constantes se notifican como opacas.

Indicador Icon Descripción
Plegado Folding indicator for 'will fold'. El indicador de plegado indica que el origen de datos evaluará la consulta hasta este paso.
No plegado Folding indicator for 'not folding'. El indicador de no plegado indica que parte de la consulta hasta este paso se evaluará fuera del origen de datos. Puede compararlo con el último indicador de plegado, si lo hay, para ver si se puede reorganizar la consulta para que sea más eficaz.
Posible plegado Folding indicator for 'might fold'. Los indicadores de posible plegado son poco comunes. Significan que una consulta "podría" plegarse. Indican que el plegado o no plegado se determinará en tiempo de ejecución, al extraer los resultados de la consulta, y que el plan de consulta es dinámico. Es probable que estos indicadores solo aparezcan con conexiones ODBC u OData.
Opaca Folding indicator for 'opaque, inconclusive folding'. Los indicadores opacos indican que el plan de consulta resultante no es concluyente por algún motivo. Por lo general, indica que hay una tabla "constante" verdadera o que la transformación o el conector no son compatibles con los indicadores y la herramienta de plan de consulta.
Unknown Folding indicator for 'no query plan'. Los indicadores desconocidos representan la ausencia de un plan de consulta, ya sea debido a un error o al intento de ejecutar la evaluación del plan de consulta en algo distinto de una tabla (por ejemplo, un registro, una lista o un tipo primitivo).

Análisis de ejemplo

Para obtener un análisis de ejemplo, empiece conectándose a la tabla Production.Product en Adventure Works (SQL). La carga inicial, similar al ejemplo anterior, es similar a la siguiente imagen.

Initial step indicators for loading the Product table.

La adición de más pasos que se plegarán ampliará la línea verde en el lado derecho. Esta ampliación se produce porque este paso también se pliega.

Adding a remove column step to the previous query, extending the green folding indicator line.

La adicción de un paso que no se pliega muestra un indicador diferente. Por ejemplo, Poner en mayúsculas cada palabra nunca se pliega. El indicador cambia, lo que indica que a partir de este paso se detiene el plegado. Como se mencionó anteriormente, los pasos anteriores se seguirán plegando.

Adding a Capitalize Each Word step to break folding.

Al agregar más pasos de bajada que dependen de Poner en mayúsculas cada paso seguirán sin plegarse.

Adding more steps that don't fold.

Sin embargo, si quita la columna a la que ha aplicado las mayúsculas para que el plan de consulta optimizado pueda plegarse una vez más, obtendrá un resultado similar al de la siguiente imagen. No obstante, algo parecido a esto es poco común. Esta imagen muestra cómo no es solo el orden de los pasos, sino también las transformaciones reales que se aplican.

Showing how removing the problematic column allows things to fold without removing the step.