martes, 1 de septiembre de 2020

Power Query: Actualización en segundo plano

Con la expansión de las consultas de Power Query en nuestras hojas de cálculo aparecen nuevas cuestiones que debemos solventar, una muy interesante es el efecto que pueden tener sobe nuestros informes de tablas dinámicas.
Hablo en particular del efecto de Refescar/Actualizar todo (Ctrl+Alt+F5).

Muy probablemente habrás notado en muchas ocasiones que tras refrescar nuestras consultas de Power Query, nuestras tablas dinámicas no se ven actualizadas con la nueva información... obligando a un segundo refresco de las conexiones, con el tiempo que esto conlleva.
La solución a esta situación pasa por Deshabilitar la actualización en segundo plano en las propiedades de las consultas...
Power Query: Actualización en segundo plano
Esta característica tan importante se configura para cada consulta en su opción de 'Propiedades', a la que se puede acceder de diferentes formas. Una podría ser desde la cinta de opciones, en las herramientas de la Consulta > grupo Editar > botón Propiedades
Power Query: Actualización en segundo plano

Lo que abrirá la ventana de propiedades (ver primera imagen del post), donde podremos Habilitar / Deshabilitar la actualización en segundo plano.
Igualemente recomendado es mantener marcada la opción de 'Actualizar esta conexión en Actualizar Todo'.

Veamos el efecto sobre nuestras tablas dinámicas de esta actualización en segundo plano.
Tenemos una sencilla tabla origen, de la cual hemos creado dos consultas en Power Query (sin ninguna transformación para visualizar mejor el efecto de estudio).
La primera consulta (llamada 'pqTabla1') tiene Habilitada la actualización en segundo plano.
Mientras la segunda (llamada 'pqTabla2') tiene Deshabilitada la actualización en segundo plano.

Sobre cada una de estas consultas hemos creado un informe de tabla dinámica... como vemos en la imagen siguiente:
Power Query: Actualización en segundo plano
Inicialmente no se ve diferencia alguna... pero lo curioso saldría a la luz cuando existan modificaciones en el Origen.
Supongamos añadimos un par de registros en el Origen y presionemos Actualizar Todo
Power Query: Actualización en segundo plano

Comprobemos qué ha ocurrido...
En la primera de las consultas (con la Actualización en segundo plano habilitada) verificamos que los nuevos registros se muestran en la consulta... pero no se ven reflejadas en la tabla dinámica.
El motivo es que mientras se actualizaba la consulta 'por detrás' (en segundo plano), simultáneamente se refrescaba la Tabla dinámica... CON los datos existentes en ese instante, esto es, aún sin actualizar!!.
El resultado es una tabla dinámica inconsistente con los datos.

Por otra parte, en la segunda de las consultas (con la Actualización en segundo plano deshabilitada) comprobamos igualmente que ha actualizado los nuevos datos, y que SÍ ha mostrado el informe de tabla dinámica igualmente actualizado con los nuevos datos.
El motivo de este comportamiento es que al deshabilitar la actualización en segundo plano ha forzado en primer lugar el refresco de la query, y hasta que no se ha completado dicha actualización no ha continuado con el refresco de su tabla dinámica asociada!!. Tal como deseabamos ;-)

Otro dato interesante de las actualizaciones de las consultas es el orden en el que se ejecutan... especialmente cuando tenemos combinaciones, anexados o consultas 'auxiliares' en nuestro Editor.
Siempre nos queda la duda si habrá actualizado en el orden correcto y estará aplicando los datos refrescados...
Lo que debemos saber es que es el propio Power Query quien, automáticamente aplica el orden correcto, teniendo presente las dependencias, si las hubiera, entre consultas. Lo cual evita nuestro cuidado.
Un punto positivo para Power Query :D

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.