
Tengo una serie de consultas en Excel que dependen de una consulta inicial que carga datos de archivos CSV, los procesa y los carga en una tabla en la hoja de trabajo. Todas las consultas restantes utilizan tablas de hojas de cálculo como fuente y no utilizan fuentes de datos externas.
Cuando los recargo individualmente, parecen tardar más de lo que deberían y parecen estar accediendo a los archivos CSV ellos mismos.
Tengo todas las configuraciones globales y de datos para la consulta para optimizar la carga (carga rápida, desactivar el fondo, etc.) según algunas investigaciones en Internet y la carga/procesamiento de la consulta original es aceptable dada la cantidad de datos. Simplemente parecería que una vez que tenga los datos procesados en una tabla en el libro de trabajo, las consultas de esa tabla y otras no requerirían volver a los archivos de origen de datos.
Me pregunto si me falta algo aquí. ¡Gracias!
Respuesta1
Cuando una consulta hace referencia a otra consulta como Fuente (o en un paso Combinar o Agregar), toda la lógica de consulta de Fuente se ejecutará cada vez que se actualice la consulta de referencia. Si tiene 5 consultas que hacen referencia a la misma consulta de origen, la lógica de consulta de origen se ejecutará 5 veces, en paralelo (de forma predeterminada). Es obviamente ineficiente.
En un escenario de Excel, el patrón para evitar esa ineficiencia es establecer la consulta de origen enCargar auna tabla de Excel. Luego, las consultas de referencia pueden apuntar a esa tabla de Excel como su Fuente.
Eso te deja con el desafío de coordinar las actualizaciones, ya que presionar el botón Actualizar todo corre el riesgo de obtener resultados inconsistentes. Normalmente lo mitigo usando grupos de consulta o grabando una macro de actualización.
Respuesta2
Gracias Mike. Parece tener razón, aunque actualizar una consulta dependiente parece actualizar la consulta principal (como lo confirman los mensajes sobre a qué archivos CSV está accediendo) algo más rápido que actualizar la consulta principal directamente.
He solucionado el problema como me sugeriste. En lugar de utilizar el botón "Administrar/Referencia" en la barra de herramientas del Editor de Power Query que genera
Fuente = #"consulta principal"
Utilizo Obtener datos->Tabla/Rango o el editor M para obtener datos de la tabla de consulta principal.
Fuente = Excel.CurrentWorkbook(){[Name="nombre de la tabla de consulta principal"]}[Contenido]
Ahora se carga instantáneamente. Como estoy en la fase de desarrollo de mi proyecto, gestionar las actualizaciones no es un problema. Descubriré un sistema una vez que haya terminado.
¡Gracias!