
Ich habe eine Reihe von Abfragen in Excel, die alle von einer ersten Abfrage abhängen, die Daten aus CSV-Dateien lädt, verarbeitet und in eine Tabelle im Arbeitsblatt lädt. Die verbleibenden Abfragen verwenden alle Arbeitsblatttabellen als Quelle und nutzen keine externen Datenquellen.
Wenn ich sie einzeln neu lade, scheinen sie länger zu dauern als sie sollten und scheinen selbst auf die CSV-Dateien zuzugreifen.
Ich habe alle globalen und Dateneinstellungen für die Abfrage, um das Laden zu optimieren (schnelles Laden, Hintergrund ausschalten usw.), basierend auf einigen Internetrecherchen, und das ursprüngliche Laden/Verarbeiten der Abfrage ist angesichts der Datenmenge akzeptabel. Es scheint einfach so, dass, sobald ich die verarbeiteten Daten in einer Tabelle in der Arbeitsmappe habe, Abfragen dieser und anderer Tabellen nicht mehr erfordern, auf Datenquellendateien zurückzugreifen.
Ich frage mich nur, ob ich hier etwas übersehe. Danke!
Antwort1
Wenn eine Abfrage auf eine andere Abfrage als Quelle verweist (oder in einem Zusammenführungs- oder Anfügeschritt), wird die gesamte Quellabfragelogik jedes Mal ausgeführt, wenn die verweisende Abfrage aktualisiert wird. Wenn Sie 5 Abfragen haben, die auf dieselbe Quellabfrage verweisen, wird die Quellabfragelogik 5 Mal parallel ausgeführt (standardmäßig). Das ist offensichtlich ineffizient.
In einem Excel-Szenario besteht das Muster zur Vermeidung dieser Ineffizienz darin, die Quellabfrage aufLaden nacheine Excel-Tabelle. Dann können die referenzierenden Abfragen auf diese Excel-Tabelle als Quelle verweisen.
Das stellt Sie vor die Herausforderung, die Aktualisierungen zu koordinieren, da das Klicken auf die Schaltfläche „Alle aktualisieren“ zu inkonsistenten Ergebnissen führen kann. Normalerweise mildere ich das mithilfe von Abfragegruppen oder durch Aufzeichnen eines Aktualisierungsmakros.
Antwort2
Danke, Mike. Du scheinst Recht zu haben, obwohl das Aktualisieren einer abhängigen Abfrage die übergeordnete Abfrage (wie durch Nachrichten darüber, auf welche CSV-Dateien zugegriffen wird, bestätigt wird) etwas schneller zu aktualisieren scheint, als wenn die übergeordnete Abfrage direkt aktualisiert wird.
Ich habe das Problem so gelöst, wie Sie es vorgeschlagen haben. Anstatt die Schaltfläche "Verwalten/Referenz" in der Symbolleiste des Power Query-Editors zu verwenden, die
Quelle = #"übergeordnete Abfrage"
Ich verwende Daten abrufen->Tabelle/Bereich oder den M-Editor, um Daten aus der Tabelle der übergeordneten Abfrage abzurufen.
Quelle = Excel.CurrentWorkbook(){[Name="Name der übergeordneten Abfragetabelle"]}[Inhalt]
Lädt jetzt sofort. Da ich mich in der Entwicklungsphase meines Projekts befinde, ist die Verwaltung von Aktualisierungen kein Problem. Ich werde mir ein System überlegen, sobald ich fertig bin.
Danke!