Einführung in Power-Query – Teil 2 36

Artikelbild-159
Teil 2 meiner kleinen Einführung in das mächtige Tool namens Power Query
 

Nach dem ersten Teil der Einführung in Power Query von letzter Woche geht es diese Woche gleich mit Teil 2 weiter.

Heute zeige ich dir unter anderem, wie man mehrere Quelltabellen ruckizucki miteinander verknüpft. Wenn dir in der Vergangenheit für diesen Zweck mit SVERWEIS bei wirklich großen Tabellen die Füße eingeschlafen sind, dann wirst du von den Möglichkeiten begeistert sein, die Power Query an dieser Stelle bietet.

Und so geht’s:

Für das heutige Beispiel habe ich mir ein paar Daten zum weltweiten Energieverbrauch vom Statistik-Portal UNdata der Vereinten Nationen heruntergeladen. Wenn du mit den gleichen Beispiel-Daten arbeiten möchtest, kannst du dir meine Extrakte auch direkt hier herunterladen.

Zwei Datenquellen nutzen

Laden wir also die erste Datei in Power Query, es handelt sich dabei um eine CSV-Datei mit den Energieverbrauchswerten der Privathaushalte:

Eine CSV-Datei als Datenquelle für Power Query

Eine CSV-Datei als Datenquelle für Power Query

Nach wenigen Momenten wird der Abfrage-Editor geöffnet sein und das Ergebnis der Abfrage wird angezeigt. Wie ich schon im ersten Teil dieser Einführung beschrieben habe, wendet Power Query häufig automatisch gewisse Transformationen an. So auch in diesem Fall, wie man rechts außen in der Liste der angewendeten Schritte erkennen kann:

Die automatisch angewendeten Schritte

Die automatisch angewendeten Schritte

Im letzten Schritt („Geänderter Typ“) wurde das Datenformat der Spalte „Quantity“ verändert, was aufgrund des Quelldatenformates zu falschen Werten führt. In der CSV-Datei wurden die Dezimalstellen durch einen Punkt getrennt und nicht durch das bei uns übliche Komma. Wenn man auf den vorletzten Schritt klickt, sieht man die Werte vor der Typänderung:

Der Punkt als Dezimaltrenner

Der Punkt als Dezimaltrenner

Daher entferne ich den letzten angewendeten Schritt durch einen Klick auf das rote X-Symbol und erhalte damit folgendes Abfrageergebnis:

Der letzte Schritt wurde entfernt

Der letzte Schritt wurde entfernt

Als nächstes fragen wir eine zweite Datenquelle ab. Auch hier handelt es sich um eine CSV-Datei, diesmal mit den Gesamt-Energieverbrauchswerten. Diese Datenquelle können wir direkt in Power Query ansprechen:

Eine weitere CSV-Datei als Quelle angeben

Eine weitere CSV-Datei als Quelle angeben

Der Aufbau der Quelldatei ist identisch mit dem der ersten Datei, daher entferne ich auch hier wieder den letzten angewendeten Schritt. Was man jetzt im linken Teil des Abfrage-Editors sehen kann: Es sind zwei Abfragen geöffnet, zwischen denen ich durch einfaches Anklicken umschalten kann:

Zwei geöffnete Abfragen

Zwei geöffnete Abfragen

Im nächsten Schritt möchte ich die Inhalte der beiden Abfragen zusammenfassen, so dass die Werte für den Privatverbrauch und den Gesamtverbrauch in einer einzigen Tabelle nebeneinander erscheinen. In einer reinen Excel-Lösung (ohne Power Query) würde man das z.B. per SVERWEIS-Funktion erledigen. Wenn es sich jedoch um sehr große Tabellen handelt, kann das durchaus zu einem Geduldsspiel werden oder im Extremfall Excel komplett in die Knie zwingen.

Und genau hier liegt eine der großen Stärken von Power Query!

Abfragen miteinander verknüpfen

Ich werde jetzt die beiden Abfragen zu einer einzigen zusammenzuführen. Dabei gibt es grundsätzlich zwei Möglichkeiten:

  1. Abfragen anfügen. Damit werden die Ergebnisse einer Abfrage einfach um Ende einer anderen Abfrage angehängt
  2. Abfragen zusammenführen. Vereinfacht gesprochen werden damit die Spalten einer Abfrage neben die vorhandenen Spalten einer anderen Abfrage gestellt
  3. Mehrere Abfragen kombinieren

    Mehrere Abfragen kombinieren

    Letzteres werde ich nutzen.

    Wer sich ein wenig mit Datenbanken auskennt, kennt den Begriff des „Join“. Damit können mehrere Datenbanktabellen mit Hilfe eines gemeinsamen Feldes miteinander verknüpft werden. Auch der bekannte SVERWEIS macht nichts anderes. Und in Power Query setzen wir die gleiche Technik ein:

    v

    Zwei Abfragen zusammenführen

    In meinem Beispiel habe ich auf der linken Seite die Abfrage mit den privaten Verbrauchsdaten markiert. Daher wird diese Tabelle auch im oberen Bereich des Fensters „Zusammenführen“ angezeigt.

    In dem darunterliegenden Auswahlfeld markiere ich nun die zweite Tabelle mit den Gesamtverbrauchswerten und bekomme dann eine kleine Vorschau im unteren Bereich des Fensters angezeigt:

    Auswahl der zweiten Abfrage

    Auswahl der zweiten Abfrage

    Nun muss ich noch angeben, über welches Feld bzw. welche Felder ich die beiden Tabellen „joinen“ möchte. In vielen Fällen wirst du hier mit einem einzigen Feld auskommen. Klassische Felder sind Artikel- oder Kundennummern oder sonstige eindeutige Schlüsselfelder.

    In unserem Fall verwenden wir das Land als gemeinsames Feld. Dies reicht jedoch noch nicht aus, da es für jedes Land mehrere Datensätze gibt, nämlich einen pro Jahr. Für eine eindeutige Zuordnung brauchen wir also die Jahresspalte als zweites Verknüpfungsfeld. Für die eigentliche Verknüpfung muss ich nur diese Spalten in den beiden Vorschautabellen anklicken. Dabei muss die STRG-Taste gedrückt und gehalten werden:

    Übereinstimmende Spalten wählen

    Übereinstimmende Spalten wählen

    Ein Klick auf den OK-Button führt die Abfrage aus (auf die unterschiedlichen Join-Arten gehe ich hier nicht ein). Außer einem weiteren Eintrag in der Liste der angewendeten Schritte sowie einer unscheinbaren zusätzlichen Spalte namens „NewColumn“ sieht man jedoch noch wenig:

    Die zusammengeführte Abfrage

    Die zusammengeführte Abfrage

    Hinter dem unscheinbaren Symbol neben der neuen Spalte verbirgt sich jedoch das, was wir suchen, nämlich alle Spalten aus der zweiten Tabelle:

    Gewünschte Spalten wählen

    Gewünschte Spalten wählen

    Da uns nur die Verbrauchsmengen interessieren, wähle ich alle Spalten bis auf „Quantity“ ab und klicke dann auf „OK“. Damit habe ich in meiner ersten Abfrage mit dem Privatverbrauch eine neue Spalte, die den dazu passenden Gesamtverbrauch an Energie enthält:

    Die neue Mengenspalte

    Die neue Mengenspalte

    Bevor wir die Daten zurück an Excel liefern, wollen wir aber die Ergebnisse mit Hilfe einiger Transformationen noch etwas „aufhübschen“.

    Verschiedene Transformationen durchführen

    Zuerst entfernen wir die überflüssige Spalte „Quantity Footnotes“. Dazu markiere ich die betreffende Spalte über Spaltenkopf und klicke dann die Schaltfläche „Spalten entfernen“:

    Überflüssige Spalte entfernen

    Überflüssige Spalte entfernen

    Als nächstes knöpfen wir uns das Format der beiden Quantity-Spalten vor. Ich markiere beide Spalten und rufe aus dem Menüband die Option „Werte ersetzen auf:

    Werte ersetzen

    Werte ersetzen

    Dann wird der Punkt durch ein Komma ersetzt. In einem zweiten Schritt kann ich den Datentyp jetzt von Text in Dezimalzahlen umwandeln:

    Den Datentyp umwandeln

    Den Datentyp umwandeln

    Über einen Doppelklick auf die Spaltenüberschrift kann ich die beiden Spalten noch umbenennen und einen aussagekräftigeren Namen vergeben:

    Spaltenbezeichnungen ändern

    Spaltenbezeichnungen ändern

    Aus eins mach zwei

    Hier nicht zwingend notwendig, aber gut zu wissen, wie es geht: Ein Spalte in zwei Spalten aufteilen. Dies möchte ich noch kurz am Beispiel der Spalte „Commodity – Transaction“ demonstrieren. Dazu markieren wir die Spalte und wählen im Menüband die Schaltfläche „Spalte teilen“ und dort die Option „Nach Trennzeichen“ aus:

    Eine Spalte aufteilen

    Eine Spalte aufteilen

    In dem folgenden Fenster kann ich aus der Auswahlliste ein vordefiniertes Trennzeichen, wie Komma oder Semikolon wählen oder ein benutzerdefiniertes Trennzeichen angeben. Der Clou dabei: es lassen sich auch ganze Wörter als Trenner angeben:

    Eigene Trennzeichen definieren

    Eigene Trennzeichen definieren

    Nach einem Klick auf OK wird die Spalte aufgeteilt, wobei das als Trennzeichen angegebene „by“ verschwindet:

    Die aufgeteilte Spalte

    Die aufgeteilte Spalte

    Die Schaltfläche „Schließen&Laden“ in der Registerkarte „Start“ liefert das fertige Endergebnis zurück nach Excel, wo es nach Belieben weiterverarbeitet werden kann:

    Die formatierte Tabelle in Excel

    Die formatierte Tabelle in Excel

    Damit bin ich am Ende meiner kleinen Einführung in Power Query angelangt. Das war sicherlich nur ein kleiner Ausschnitt der Möglichkeiten, aber ich hoffe, du bist ein wenig auf den Geschmack gekommen und experimentierst demnächst selbst mit diesem mächtigen Werkzeug herum.

    Falls du eher der interaktive Lerntyp bist: Wie wäre es mit meinem Online-Kurs Daten importieren und aufbereiten mit Power Query?

    Oder gehörst du bereits zu denjenigen, die Power Query bereits nutzen? Dann teile deine Erfahrungen unten in den Kommentaren mit uns.

     

    Wenn dir der Artikel gefallen hat: Bitte weitersagen!
    Das könnte dich auch interessieren:
    Und immer daran denken: Excel beißt nicht!

    P.S. Die Lösung ist immer einfach. Man muss sie nur finden.
    (Alexander Solschenizyn)

    P.P.S. Das Problem sitzt meistens vor dem Computer.



Avatar-Foto

Über Martin Weiß

Er ist das Gesicht hinter dem Blog "Der Tabellenexperte". Seit 2013 veröffentlicht er hier Beiträge zu seinem Lieblingsprogramm: Microsoft Excel. Martin Weiß ist zertifizierter Microsoft Excel Expert und verdient sein Geld als selbständiger Excel-Berater, -Entwickler und -Trainer.

Schreibe einen Kommentar zu Tim Antworten abbrechen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

36 Gedanken zu “Einführung in Power-Query – Teil 2

  • Avatar-Foto
    Helmut Schuster

    Hallo Herr Weiß, ein sehr schöner und informativer Artikel. Es stimmt, PowerQuery ist ein mächtiges Tool. In meinen Excel/PowerPivot-Projekten ist es das Mittel der Wahl um Daten vor dem Import zu bearbeiten und komfortabel zu importieren und das auch permanent ohne zusätzlichen Aufwand zu wiederholen. Ich kann den Einsatz nur empfehlen!

    • Avatar-Foto
      Martin Weiß

      Hallo Herr Schuster,

      vielen Dank für das nette Feedback. Power Query wurde auch von mir lange Zeit ignoriert und fristet vermutlich bei vielen Anwendern ein Schattendasein. Und gerade den letzten von Ihnen genannten Punkt kann ich nur unterstreichen: Man muss den Aufwand eben nur ein einziges Mal betreiben und kann immer wieder davon profitieren.

      Schöne Grüße,
      Martin Weiß

  • Avatar-Foto
    Wiebke

    Hallo Herr Weiß,
    vielen Dank an der Stelle für die Einführung in Power-Query. Das Tool ist echt toll und importiert im Handumdrehen!
    Eine Sache habe ich aber noch nicht gefunden. Vielleicht suche ich aber auch an den falschen Stellen.
    Überschriften anpassen: Ich habe ein txt-file mit den Überschriften Column1, Column2 etc. Nicht sehr aussagekräftig.
    Stattdessen müsste hier stehen: Monat, Jahr, Bereich etc.
    Wo kann ich Excel das beibringen? Die Überschriften im Nachgang anpassen ist zwar möglich, aber nicht wirklich schick und hält auch nur bis zur nächsten Aktualisierung. 🙁

    • Avatar-Foto
      Martin Weiß

      Hallo Wiebke,

      jede Änderung, also auch die manuelle Anpassung der Überschriften, wird als eigener Schritt aufgezeichnet und erscheint dann auch rechts in der Liste de angewendeten Schritte. Und bei der nächsten Aktualisierung (z.B. über die Schaltfläche „Vorschau aktualisieren“) werden alle diese Schritte wieder durchgeführt. Somit müssen Sie sich die Arbeit auch nur beim ersten Mal machen, danach geht’s automatisch.

      Schöne Grüße,
      Martin

  • Avatar-Foto
    Tim

    Hallo,
    ich habe ein Problem mit PowerQuery, aber ich bin mir sicher, dass es das richtige Tool ist.
    Ich bekomme regelmäßig Daten einer Umfrage zur Auswertung. Um diese auszuwerten, sollen die Daten nach dem Umfrageort gruppiert werden. Also z.B. habe ich 100 Umfragen gemacht, davon waren 10 in Hamburg, 30 in Berlin und 60 in Bottrop. Ich möchte also gar keine gesamte Auswertung, sondern, dass mir PowerQuery das in alle unterschiedlichen Orte unterteilt und ich dann damit weiter arbeiten kann. So etwas, als habe man dann verschiedene Tabellenblätter mit den unterschiedlichen Orten.
    Mein Ursprungsgedanke war natürlich der SVERWEIS, aber Powerquery sollte das doch hinbekommen?!
    Danke schon mal und schöne Grüße

    • Avatar-Foto
      Martin Weiß

      Hallo Tim,

      ich weiß leider auch nicht, wie sich eine einzelne Abfrage in PowerQuery auf mehrere Tabellen aufteilen lässt. Aber vielleicht hilft ja der folgende Weg:
      – Quelldaten per Datenverbindung in Excel importieren und dort als Tabelle formatieren. Nennen wir sie mal „Quelltabelle“
      – aus dieser Tabelle eine neue Abfrage in PowerQuery erstellen, die Daten nach dem gewünschten Ort filtern und die Ergebnisse nach Excel zurückliefern. Die Daten landen dort in einem eigenen Arbeitsblatt
      – Aus dem Blatt „Quelltabelle“ eine neue Abfrage in PowerQuery erstellen, nach dem nächsten Ort filtern usw.

      Damit gibt es für jeden Ort ein eigenes Arbeitsblatt, welches bei Änderung der Quelldaten auch automatisch aktualisiert wird. Allerdings gebe ich zu, dass das keine sehr elegante Methode ist und bei sehr vielen verschiedenen Orten auch mit etwas Aufwand verbunden ist (zumindest einmalig).

      Aber vielleicht kennt ein anderer Leser eine bessere und einfachere Methode.

      Schöne Grüße,
      Martin

      • Avatar-Foto
        Tim

        Hallo Martin,

        vielen Dank für die Antwort, klappt wunderbar. Und das ist zwar, wie du geschrieben hast, mit etwas Aufwand verbunden, aber wenn Excel alles von alleine machen würde, wäre es ja auch langweilig. 🙂

        Schöne Grüße,
        -Tim

        • Avatar-Foto
          Christoph

          für Leute die danach suchen: alternativ für jeden Ort 1-mal im Power Query Editor links in der Abfragenliste Rechtsklick auf die ursprüngliche Abfrage > Verweis und dann im Spaltenkopf nach dem jeweiligen Ort filtern

  • Avatar-Foto
    Wolfgang Frech

    Vielen Dank für die gelungene und behutsame Einführung in Power Query.

    Leider konnte ich allerdings auch hier keine Lösung für mein Problem finden:
    In meiner CSV-Datei befinden sich unter anderem hexadezimale Werte, die eventuell direkt oder aber in einer neuen Spalte in dezimale Werte umgerechnet werden sollen. Eine solche Transformation kann ich aber nicht finden.
    Eine Zeile der Quelldatei sieht etwa so aus:
    002f7e00;0000f4;.text1;text2.o

    Vielleicht könnten Sie auch derartige Transformationen ansprechen?

    Vielen Dank und schöne Grüße

    • Avatar-Foto
      Martin Weiß

      Hallo Herr Frech,

      solche Transformationen sind in Power Query nicht vorgesehen. Es bleibt Ihnen also nur der Weg, diese Umwandlung im Anschluss direkt in Excel mit der Funktion HEXINDEZ vorzunehmen.

      Schöne Grüße,
      Martin

  • Avatar-Foto
    Marit Voigt

    Hallo Martin,

    dein Blog ist super informativ und anschaulich aufgebaut, vielen Dank für die Mühe damit! Es macht Spaß, Dinge anhand der bebilderten Anleitung nachzuvollziehen.
    Ich frage mit PowerQuery Massendaten aus einer Microsoft Dynamics – Datenbank via OData-Feed ab. Ich habe im Abfrageeditor eine Spalte mit dem Typ „Datum“ gekennzeichnet. Jedoch vergisst er diesen Typ für neue Daten. Dann muss ich den Typ neu setzen, speichern & laden und alles sieht wieder aus wie gewünscht. Das kann doch aber nicht das Ende der Weisheit bedeuten? Hattest du so ein Problem schon mal? Wäre echt cool, wenn’s da eine Lösung geben könnte… DANKE für deinen Support!

    VG, Marit

    • Avatar-Foto
      Martin Weiß

      Hallo Marit,

      danke für das nette Feedback!
      Was Dein Problem mit PowerQuery angeht: Das hört sich merkwürdig an. Denn es ist ja gerade eine der genialen Eigenschaften von PowerQuery, dass jede vorgenommene Änderung automatisch rechts in der Liste der angewendeten Schritte aufgeführt und beim nächsten Mal wieder abgespielt wird. Kommt vielleicht nach Deinem Formatierungsschritt ein weiterer, der diese Formatierung wieder aufhebt?

      Schöne Grüße,
      Martin

  • Avatar-Foto
    Jack Eckhardt

    Hallo Herr Weiß,
    danke erst mal für die interessanten Artikel. Ich habe da nur mal ein Frage. Ich nutze in einer Arbeitsmappe mehrere Abfragen um Daten aus csv-Dateien zu laden. Das funktioniert auch alles gut. Dies möchte ich aber dann durchführen, wenn ich von einem Userform zum nächsten Userform wechsle. Hier kommt aber in der Statuszeile die Meldung „Hintergrundabfrage wird aktualisiert“. Und ich weiß nicht, ob die Daten schon aktualisiert wurden, da die Meldung bestehen bleibt. Gibt es eine Möglichkeit, zu prüfen, ob oder wann die Abfrage durchgelaufen ist, damit ich erst dann das nächste Userform öffne. Wenn ich das nächste Userform nicht öffne, verschwindet auch die Meldung, und ich kann bei den Arbeitsmappenabfragen erkennen, das die „xxx Zeilen geladen“ wurden.

    Schöne Grüße
    Jack Eckhardt

    • Avatar-Foto
      Martin Weiß

      Hallo Herr Eckhardt,

      man kann in den Abfrageeigenschaften zu jeder Abfrage festlegen, ob diese im Hintergrund aktualisiert werden soll. Sie finden diese Einstellung, indem Sie in Excel (nicht im Power Query Editor) in der Liste der Abfragen und Verbindungen einen Rechtsklick auf die Abfrage ausführen und den Punkt „Eigenschaften“ wählen. Vielleicht hilft Ihnen das weiter. Tipps zu VBA gebe ich hier nicht.

      Schöne Grüße,
      Martin

  • Avatar-Foto
    M.T-S

    Hallo Martin,

    Dank dir bin ich erst auf Power Query aufmerksam geworden (und bin hin und weg).
    Ich stand nun vor dem Problem, dass ich eine Textdatei eingelesen habe, in der eine ID und darunter ein Status stand (immer im Wechsel). Die Tabelle sah in etwa so aus.

    1
    Verliehen
    5
    Verliehen
    3
    Im Lager
    12

    Ich wollte nun das ID und Status in 2 Spalten nebeneinander stehen:
    1 | Verliehen
    5 | Verliehen
    3 | Im Lager
    12 | …

    Beholfen habe ich mir so:

    #“Ersetzter Wert1″ = Table.ReplaceValue(#“Entfernte leere Zeilen“,“Verliehen“,“#Verliehen“,Replacer.ReplaceText,{„Column1.1.1″}),
    #“Ersetzter Wert2″ = Table.ReplaceValue(#“Ersetzter Wert1″,“Im Lager“,“#Im Lager“,Replacer.ReplaceText,{„Column1.1.1″}),
    #“Spalte nach Trennzeichen teilen“ = Table.SplitColumn(#“Ersetzter Wert2″,“Column1.1.1″,Splitter.SplitTextByDelimiter(„#“),{„Column1.1.1.1“, „Column1.1.1.2″}),
    #“Nach oben gefüllt“ = Table.FillUp(#“Spalte nach Trennzeichen teilen“,{„Column1.1.1.2″}),
    #“Gefilterte Zeilen“ = Table.SelectRows(#“Nach oben gefüllt“, each ([Column1.1.1.1] „“)),

    Also die Werte „Verliehen“ und „Im Lager“ Ersetzen durch „#Verliehen“ und „#Im Lager“.
    Dann die Spalten trennen nach Trennzeichen # („Verliehen“ und „Im Lager“ rutschen in die 2te Spalte)
    Die 2te Spalte Nach oben auffüllen.
    Anschließend in der ersten Spalte die leeren Werte rausfiltern.

    Das funktioniert bei 2 bekannten Werten auch sehr gut, aber wenn der Status beliebig sein kann, hilft das leider nicht mehr. Kennst du eine Möglichkeit, mit Power Query, jede zweite Zelle (unabhängig vom Wert) eine Spalte nach rechts und eine Zeile nach oben zu „verschieben“?

    Mfg M.T-S (Marcel)

    • Avatar-Foto
      Martin Weiß

      Hallo Marcel,

      unter der Voraussetzung, dass sich die beiden Zeilen wirklich immer abwechseln (also einmal ID und einmal Status), würde ich wie folgt vorgehen:
      Erste Abfrage: Quelldatei einladen, danach eine Transformation „Zeilen entfernen | Alternative Zeilen entfernen“ = Table.AlternateRows(Quelle, 1, 1, 1)
      -> damit bleiben nur die ID-Zeilen übrig.
      Spalte hinzufügen | Indexspalte

      Zweite Abfrage: Quelldatei ein zweites mal einladen, wieder „Zeilen entfernen | Alternative Zeilen entfernen“, diesmal aber genau die anderen = Table.AlternateRows(Quelle, 0, 1, 1)
      -> damit bleiben nur die Status-Zeilen übrig
      Spalte hinzufügen | Indexspalte

      Jetzt beide Abfragen über die Indexspalte zu einer neuen Abfrage zusammenführen
      -> jetzt sollte die Tabelle so aussehen, wie du sie brauchst. Also ID und Index in eigenen Spalten

      Schöne Grüße,
      Martin

  • Avatar-Foto
    Matthias

    Hallo,

    ich doktore schon einige Zeit an einer Liste rum, die aus verschiedenen Excel-Listenzusammengefügt wird. Dabei tritt bei mir ein Problem auf, auf das ich keine Antwort finde. Vielleicht hätten Sie die Möglichkeit mir einen Denkanstoß zu verpassen? 🙂

    Ich füge also, wie bereits erwähnt, mehrere gleich aufgebaute Excel-Listen aneinander. Sämtliche Listen sind gleich formatiert, landen in der Zusammenführung allerdings in verschiedenen Formaten. So, dass man die Ergebnisse der Listen nicht in einer Statistik darstellen kann. Auch eine manuelle Umformatierung der einzelnen Spalten bringt keine Änderung.

    Ziel der Liste wäre eine Statistik zu fahren.

    Hätten Sie eine Idee, wo ich momentan falsch denke?

    Vielen Dank schonmal

    • Avatar-Foto
      Martin Weiß

      Hallo Matthias,

      grundsätzlich legst du ja in Power Query fest, welches Format die einzelnen Spalten haben sollen. Wenn du dort nicht explizit Formate angibst, dann kann es sein, dass die integrierte Formaterkennung nicht immer zutreffende Ergebnisse liefert. An dieser Stelle würde ich also als erstes suchen.

      Schöne Grüße,
      Martin

      • Avatar-Foto
        Matthias

        Das Problem, was ich habe ist, dass ich nachdem ich einer Spalte eine bestimmte Formation zugeordnet habe, diese nur von der Hälfte der Spalte übernommen wird, bzw. nur von einem Teil der Dokumente, die da reinfließen.

        • Avatar-Foto
          Martin Weiß

          Dann vermute ich, dass in den Quelltabellen Daten enthalten sind, die nicht dem gewünschten Format entsprechen. Wenn also beispielsweise in einer Datumsspalte ein Text steht, wird auch dann kein Datum daraus, wenn man das Format der Spalte ändert.

          Schöne Grüße,
          Martin

  • Avatar-Foto
    Marcus Klutzny

    Hallo Herr Weiß,
    vielen Dank für ihren tollen Blog! Befinde mich gerade in der Suche nach einer spezifischen Funktion für mein Problem und bin bei PQ gelandet.

    Ich habe eine große Tabelle (je Jahr ein Sheet) mit Patientendaten nach Operationen. Nach Filterung habe ich daraus spezifische Primärereignisse in selbigen Spaltenaufbau in eine neue Tabelle (Sekundär) extrahiert. Nun möchte ich diese Patienten erneut in der ersten Tabelle (z.B. aus Kombination Geburtsdatum + Vorname) vergleichen, um Zweit- oder Mehrfach-OPs herauszufiltern und diese in eine neue Tabelle oder Sheet in gleicher Struktur zu überführen.
    Ist hier eher SVERWEIS oder PowerQuery die bessere Lösung?

    Schöne Grüße
    Marcus

    • Avatar-Foto
      Martin Weiß

      Hallo Herr Klutzny,

      wenn Sie sich ohnehin schon in Power Query eingearbeitet haben, dann würde ich auf jeden Fall Power Query dem SVERWEIS vorziehen. Sie müssen ja nur eine Spalte mit dem Abgleichskriterium in beide Tabellen einbauen, was über eine Kombination von zwei Spalten ja kein Problem ist:
      Spalte hinzufügen | Benutzerdefinierte Spalte. Dann die beiden Felder mit einem „&“ dazwischen hinzufügen.

      Für SVERWEIS bräuchten Sie das ja auch. Und im Hinblick auf Performance ist Power Query ohnehin die bessere Variante.

      Schöne Grüße,
      Martin

  • Avatar-Foto
    Daniele Basile

    Lieber Martin

    ich scheitere kläglich beim Versuch, Excel Binärdateien über PowerQuery einzulesen – egal ob einzelnes File oder ganze Ordner. Mit den anderen Formaten gehts anstandlos. Wie siehst Du das? Der Vorteil der xlsb wäre ja gerade bei grösseren Datenmengen offensichtlich. Habe ich etwas übersehen, oder…

    Beste Grüsse, Daniele

  • Avatar-Foto
    Felix Mitterer

    Hallo Herr Weiß,

    ich sitze gerade an meiner Bachelorarbeit bei der es darum geht im Flugversuch aufgezeichnete Daten möglichst automatisiert in Excel einzulesen und auszuwerten.

    Die vom Luftdatensensor aufgezeichnete Tabelle (aus CSV Daten) hat immer die gleichen Spalten, aber je nach Flugdauer mehr oder weniger Zeilen.
    Mein Ziel ist es für die unterschiedlichen Flugphasen (Start, Steigen, Reiseflug, Landen) jeweils eine Berechnungstabelle in Excel zu erstellen, bei der nur bestimmte Spalten benötigt werden.
    Jetzt frage ich mich ob Power Query das richtige Tool für meine Angelegenheit ist.

    Soweit ich das bis jetzt verstehe ist eine Abfrage ja an eine Quelldatei gebunden. In meinem Fall ist es jedoch für jeden Flug eine neue Datei, zwar mit selber Struktur aber doch eine andere Datei.

    Funktioniert es dennoch irgendwie immer wieder z.B. eine neue Landung in eine vorgefertigte Berechnungstabelle für die Landung einzulesen?

    Im Voraus besten Dank und viele Grüße
    Felix Mitterer

    • Avatar-Foto
      Martin Weiß

      Hallo Herr Mitterer,

      ich bin überzeugt davon, dass Power Query für diesen Zweck sehr gut geeignet ist. Je nach den Gegebenheiten sind unterschiedliche Herangehensweisen denkbar. Im einfachsten Fall benennen Sie die neue Datei nur um, so dass der Name der in Power Query hinterlegten Datenquelle entspricht. Dann brauchen Sie an der Abfrage überhaupt nichts zu ändern und können in Excel einfach nur die Daten aktualisieren lassen. Voraussetzung ist lediglich, dass der Spaltenaufbau der Quell-CSV sich nicht ändert, aber das scheint ja der Fall zu sein.

      Ein andere Möglichkeit wäre eine Abfrage, die einfach alle Dateien einliest, die sich in einem bestimmten Verzeichnis befinden. Und zwar unabhängig vom Dateinamen. Dann müssten Sie die Datei nicht einmal umbenennen. Wie so etwas funktioniert, habe ich in diesem Artikel beschrieben:
      Massen-Import mit PowerQuery

      Schöne Grüße,
      Martin

  • Avatar-Foto
    Kathrin

    Hallo Herr Weiß,
    ich arbeite zum ersten Mal mit query und habe dank Ihrer Anleitung aus 6 Exceldateien eine Übersichtsdatei erstellen können. Alle Quelldateien haben den gleichen Aufbau, aber unterschiedliche Inhalte.
    Nun möchte ich aus der Übersichtsdatei heraus in allen Quelldateien gleichzeitig z.B. eine neue Zeile mit Inhalten einfügen.
    Ist das überhaupt möglich? Und wenn nicht mit query, gibt es ein anderes Tool dafür?
    Vielen Dank für Ihre Hilfe.

    • Avatar-Foto
      Martin Weiß

      Hallo Kathrin,

      das was Sie beschreiben, ist im Grunde eine Katze, die sich selbst in den Schwanz beißt 🙂
      Denn Sie lesen ja die Quelldateien in eine Übersichtsdatei ein und wollen von dort wieder in die Quelldateien zurückschreiben, was dann wieder in die Übersichtsdatei eingelesen wird…
      Ich empfehle, die Dateneingabe in den Quelldateien belassen und die Übersichtsdatei nur als Übersichtsdatei zu verwenden.

      Schöne Grüße,
      Martin

      • Avatar-Foto
        Kathrin

        Hallo Martin,

        vielen Dank für die Antwort.

        Ja, der Zirkelbezug ist mir schon bewusst gewesen.
        Ich hatte nur gehofft, dass es mir bei bereits verbundenen Dateien möglich sei, in allen Dateien gleichzeitig eine Zeile mit gleichem Inhalt einzufügen.

        Nun denn, man kann nicht alles haben – muss ich halt weiterhin 7 Dateien manuell bearbeiten.

        Schöne Grüße
        Kathrin

  • Avatar-Foto
    Karin Plank

    Hallo Martin
    ich finde Ihre Seite sehr toll, egal welches Thema, wirklich alles ist sehr gut erklärt,
    ich bin in Power Query noch Anfänger und auch bei Excel noch kein Profi, aber ich lerne gerne bei Ihnen
    ein großes Lob Ihrem Einsatz und vielen Dank vor allem
    freundliche Grüße
    Karin

    • Avatar-Foto
      Martin Weiß

      Hallo Karin

      vielen Dank für das Lob und dieses schöne Feedback, das freut mich sehr! Und ich wünsche Ihnen auch weiterhin noch viel Freude hier 🙂

      Schöne Grüße,
      Martin

  • Avatar-Foto
    Arno

    Hallo Herr Weiß,
    vielen Dank auch hier für den Artikel!
    was bei mir aber nicht funktioniert:
    wenn ich eine Extra Spalte (Wunsch_Verbrauch) in dem Ergebnis Tabellenblatt manuell einfüge und dort dann manuell Werte eintrage,
    mit denen ich auch später auch weiter rechnen möchte.
    Und dann die Rohdaten wieder aktualisiere, dann werden die WunschVerbrauchsWerte durcheinandergewürfelt…
    (verrutschen in andere Zeilen)

    Haben sie einen Tipp dazu ?
    schöne Grüße, Arno

    • Avatar-Foto
      Martin Weiß

      Hallo Arno,

      dafür gibt es eine Lösung, die allerdings nicht ganz trivial und daher nicht in zwei Sätzen erklärt ist (Stichwort „Selbstreferenzierende Abfrage“). Im Grunde läuft es darauf hinaus, dass man die bereits vorhandenen Daten (mit den manuellen Ergänzungen) mit Power Query in eine Zwischentabelle importiert und diese anschließend mit den neu importierten Daten kombiniert.

      Ich werde dazu vielleicht mal einen eigenen Blogartikel schreiben.

      Schöne Grüße,
      Martin

      • Avatar-Foto
        Arno

        Vielen Dank für den Hinweis auf (Stichwort „Selbstreferenzierende Abfrage“)
        jetzt bin ich natürlich sehr gespannt auf den passenden Blogartikel dazu.

        schöne Grüße,
        Arno

  • Avatar-Foto
    Paul

    Guten Tag Herr Weiß,

    ich habe mehrere individualisierte MS-Forms-Umfragen erstellt, die täglich von verschiedenen Personen ausgefüllt werden.
    Zur täglichen Auswertung öffne ich die jeweiligen Excel Tabellen der einzelnen Forms-Umfragen, um die Antworten zu sehen.
    Gibt es die Möglichkeit bzw. können Sie mir sagen, ob alle Antworten aus den Umfragen in einer „großen“ Excel-Tabelle zusammen laufen können?
    Alle Excel-Tabellen der einzelnen Forms-Umfragen zu öffnen wäre nämlich ein sehr großer Zeitaufwand, den ich mir gerne sparen würde.
    Ich hoffe Sie können mir bei meiner Fragestellung helfen.

    Mit freundlichen Grüßen
    Paul

    • Avatar-Foto
      Martin Weiß

      Guten Tag Paul,

      wenn ich Sie also richtig verstanden habe, möchten Sie die Tabellen von unterschiedlichen Forms-Umfragen in einer Excel-Mappe zusammenfassen? Sofern alle Umfragen (und damit die dahinter liegenden einzelnen Exceldateien) den gleichen Aufbau haben, ist das grundsätzlich möglich. Sie müssen nur alle Dateien in einem gemeinsamen Verzeichnis abspeichern und können dann das gesamte Verzeichnis in Power Query einlesen (Menü „Daten | Daten abrufen | Aus Datei | Aus Ordner“)

      Schöne Grüße,
      Martin