Durante este fin de semana e impartido dos charlas en Power Platform Bootcamp de Madrid y Barcelona en la que el tema principal era el tratamiento del plegado de consulta visto desde la perspectiva de los flujos de datos y el control que se puede tener ahora mismo gracias al elemento visual de seguimiento del plegado, que es una característica que se implementó a principios de enero y que es espectacular.
Una de las cosas que he repetido hasta la saciedad es que si nos traemos los datos con una consulta nativa de SQL, el siguiente paso a la consulta nativa no va a mantener el plegado de ningún modo, por lo que era una tontería traernos los datos con una consulta nativa y luego realizar más transformaciones.
Es el caso de la imagen. Nos traemos los datos con un Select * from DimProductCategory y el siguiente paso rompe el query folding aunuqe sea un paso de filtrado que de ningún modo lo rompe si no partimos de una consulta nativa.
Pues bien, Chris Webb acaba de anunciar en su blog que la función Native.Query () ya admite mantener el plegado
Por supuesto que me he acelerado a probarlo y esto son los resultados:
Por desgracia el comando EnableFolding=true no es admitido en el cuadro de dialogo que es la vía habitual que utilizamos para una native query
Sin embargo, lo probamos en la función Native.Query()
Y efectivamente el indicador de color continua en verde
Y a través del plan de consulta podemos observar que el plegado se mantiene
Al contrario que en el primer ejemplo, con el cuadro de diálogo en el que el plegado se rompe
Una novedad fantástica aunque nos va a suponer cambiar un poco la forma de trabajar para realizar las consultas nativas con el comando Native.Query() en lugar de seguir utilizando el cuadro de diálogo.
Y como hay que ser productivos a la hora de trabajar. Con esta función consigo un cuadro de dialogo para mis consultas nativas que admita el plegado de consulta:
(ConsultaNativa as text) =>
let
Origen = Sql.Database(SV, BD),
RunSQL = Value.NativeQuery(
Origen,
ConsultaNativa,
null,
[EnableFolding = true]
)
in
RunSQL
5 comentarios