Schleifen in Power Query Abfragen erstellen
Schritt-für-Schritt-Anleitung
Um eine Schleife in einer Power Query Abfrage zu implementieren, kannst du die folgende Schritt-für-Schritt-Anleitung befolgen:
-
Erstelle eine Tabelle mit den URLs: Lege eine Excel-Tabelle an, die die URLs deiner Excel-Dateien enthält. Diese Tabelle sollte zwei Spalten haben: eine für die URLs und eine für die Tabellennamen.
-
Öffne Power Query: Gehe zu „Daten“ > „Abfragen und Verbindungen“ und wähle „Neue Abfrage“ > „Aus anderen Quellen“ > „Leere Abfrage“.
-
Füge den M-Code hinzu:
let
// Tabelle mit URLs laden
Source = Excel.CurrentWorkbook(){[Name="DeineTabelle"]}[Content],
// URLs und Tabellen extrahieren
URLs = Source[URL],
Tabellen = Source[Tabellen],
// Schleife zur Kombination der Daten
CombineTables = List.Accumulate(
List.Zip({URLs, Tabellen}),
{},
(state, current) =>
let
url = current{0},
tableName = current{1},
data = Excel.Workbook(Web.Contents(url), null, true){[Item=tableName, Kind="Table"]}[Data]
in
state & data
)
in
Table.Combine(CombineTables)
-
Lade die Daten: Klicke auf „Schließen & Laden“, um die kombinierten Daten in Excel zu importieren.
Häufige Fehler und Lösungen
-
Fehler: „Die Tabelle konnte nicht gefunden werden“
Lösung: Überprüfe den Tabellennamen in deiner Excel-Datei. Stelle sicher, dass der Name genau mit dem übereinstimmt, was in deiner Tabelle steht.
-
Fehler: „Web.Contents kann die URL nicht erreichen“
Lösung: Stelle sicher, dass die URL korrekt ist und dass du eine Internetverbindung hast. Prüfe auch, ob die Datei öffentlich zugänglich ist.
Alternative Methoden
Eine alternative Methode, um mehrere Excel-Dateien zu importieren, besteht darin, die Abfrage auf eine Ordnerstruktur anzuwenden. Du kannst den M-Code so anpassen, dass er alle Dateien in einem bestimmten Ordner lädt:
let
Quelle = Folder.Files("C:\DeinOrdner"),
ExcelFiles = Table.SelectRows(Quelle, each [Extension] = ".xlsx"),
ImportierteDaten = Table.AddColumn(ExcelFiles, "Daten", each Excel.Workbook(File.Contents([Folder Path] & [Name]), null, true)),
KombinierteDaten = Table.Combine(ImportierteDaten[Daten])
in
KombinierteDaten
Praktische Beispiele
-
Beispiel mit einer URL-Liste:
Du kannst die oben genannte Methode nutzen und eine Tabelle mit URLs erstellen, um Daten aus verschiedenen Quellen zu kombinieren.
-
Beispiel mit Ordnerstruktur:
Wenn du mehrere Excel-Dateien in einem Ordner hast, kannst du den Ordner importieren und alle Dateien auf einmal laden.
Tipps für Profis
-
Verwendung von Parametern: Du kannst Parameter in Power Query nutzen, um die URLs dynamisch anzupassen, ohne den M-Code jedes Mal ändern zu müssen.
-
Optimierung der Abfrage: Achte darauf, dass du nur die Daten lädst, die du benötigst. Filtere überflüssige Daten in der Abfrage heraus, um die Performance zu verbessern.
FAQ: Häufige Fragen
1. Kann ich eine Schleife in Power Query erstellen?
Ja, du kannst eine Schleife in Power Query verwenden, um Daten aus mehreren URLs dynamisch zu laden.
2. Was mache ich, wenn die Daten nicht geladen werden?
Überprüfe die URLs und die Tabelle in deiner Abfrage. Stelle sicher, dass alles korrekt eingegeben ist und dass du Zugriff auf die Dateien hast.
3. Wie kann ich die Abfrage automatisieren?
Du kannst die Abfrage so einrichten, dass sie regelmäßig aktualisiert wird, indem du die Aktualisierungsoptionen in Excel nutzt.