Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Schleife Power Query Abfrage

Schleife Power Query Abfrage
21.10.2020 17:50:26
Celuldor
kann man in einer Power Query Abfrage eine schleife einbauen?
ich habe eine Tabelle in der Dateien hinterlegt werden:
URL Tabellen
https://url/datei1.xlsx liste9
https://url2/datei2.xlsx liste9
https://url2/datei2.xlsx liste92
https://url/datei3.xlsx liste93
die Anzahl der Einträge ändert sich ständig.
ich möchte eine kombinierte Abfrage all dieser Dateien.
das habe ich im Moment manuell gelöst, fände es aber naturgemäß besser wenn das automatisch ginge, da die liste ja als Tabelle vorliegt:
let
FullPathToFile1 = "https://url/datei1.xlsx",
FullPathToFile2 = "https://url/datei2.xlsx",
FullPathToFile3 = "https://url/datei2.xlsx",
FullPathToFile4 = "https://url/datei3.xlsx",
Quelle1 = Excel.Workbook(Web.Contents(FullPathToFile1), null, true),
Quelle2 = Excel.Workbook(Web.Contents(FullPathToFile2), null, true),
Quelle3 = Excel.Workbook(Web.Contents(FullPathToFile3), null, true),
Quelle4 = Excel.Workbook(Web.Contents(FullPathToFile4), null, true),
liste1_Table = Quelle1{[Item="liste92",Kind="Table"]}[Data],
liste2_Table = Quelle2{[Item="liste9",Kind="Table"]}[Data],
liste3_Table = Quelle3{[Item="liste93",Kind="Table"]}[Data],
liste4_Table = Quelle4{[Item="liste9",Kind="Table"]}[Data],
liste_Table = Table.Combine({liste1_Table, liste2_Table, liste3_Table, liste4_Table})
in
liste_Table
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleife Power Query Abfrage
21.10.2020 18:48:58
ChrisL
Hi
Ein interessantes Thema.
Mit "Power-Query mehrere Webseiten" bekommst du erste Suchresultate z.B.
https://www.youtube.com/watch?v=T7TaHAaENI8
(Verständnis für Parameter und Funktion herstellen)
Die Lösung sollte sich dann auch auf eine URL-/Tabellen-Liste adaptieren lassen.
https://www.howtoexcel.org/power-query/how-to-extract-data-from-multiple-webpages/
Vielleicht findest du mit Dr. Google noch passendere Tutorials.
cu
Chris
Anzeige
AW: Schleife Power Query Abfrage
23.10.2020 08:50:56
Celuldor
vielen lieben dank,
das Video hat mein Problem vollständig gelöst :-)
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

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:

  1. 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.

  2. Öffne Power Query: Gehe zu „Daten“ > „Abfragen und Verbindungen“ und wähle „Neue Abfrage“ > „Aus anderen Quellen“ > „Leere Abfrage“.

  3. 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)
  4. 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

  1. 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.

  2. 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.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige