Power BI

Power Query: Spaltenwerte flexibel und effizient verändern

26.01.2026   Hildegard Hügemann

Soll in Power Query der Inhalt einer Spalte verändert werden, sind dafür auf der Registerkarte Transformieren verschiedene Befehle verfügbar. Allerdings gibt es dort keine Option, die unterschiedliche Werte einer vorhandenen Spalte durch einen bestimmten Wert oder durch nichts ersetzt. Viele behelfen sich dann, indem sie zuerst die gewünschten Werte in einer zusätzlich Hilfsspalte generieren und anschließend die Originalspalte löschen.
Doch solche Bereinigungsprozesse lassen sich mit Hilfe der Funktion Table.TransformColumns einfach erledigen – ohne jede Hilfsspalte.

Transformationen auf zwei Spalten mit Typumwandlung sehr performant in nur einem Schritt durchführen

Transformationen auf mehreren Spalten inklusive Typumwandlung sehr performant in nur einem Schritt durchführen

Szenario 1: Komplette Spalte leeren oder mit festem Text belegen, unabhängig von den bisherigen Werten

Angenommen, eine Liste enthält eine Spalte Status, deren Inhalte aus verschiedenen Vorsystemen stammen. Diese sind leider uneinheitlich gepflegt wie z. B. „offen“, „neu“, „in Bearbeitung“, „in Prüfung“ usw. und so nicht brauchbar. Die Spalte soll deshalb vollständig geleert oder mit „tbd.“ überschrieben werden, um den Status in einem späteren Verarbeitungsschritt neu zu belegen.

So geht’s …
Ich markiere die Spalte Status und wähle im Register Transformieren [1] einen typischen Transformationsschritt aus, beispielsweise unter Format [2] > Präfix hinzufügen [3]. Anschließend gebe ich beispielsweise den Präfix „X“ ein [4].

 

Ein Transformieren-Befehl wie Präfix hinzufügen erzeugt einen typischen Code mit der Funktion Table.TransformColumns

Ein Transformieren-Befehl wie Präfix hinzufügen erzeugt einen typischen Code mit der Funktion Table.TransformColumns

 

Auf diese Weise erhalte ich den nötigen M-Code zur Transformation der Spalte. In dieser Anweisung wird mit Hilfe des Wörtchens each für jede Zeile die danach folgende Anweisung ausgeführt. Mit dem Unterstrich _ wird auf den jeweiligen Wert zugegriffen und hier mit dem Buchstaben „X“ am Anfang verkettet.

Die Funktion Table.TransformColumns mit einer Anweisung zur Transformation der Spalte Status

Die Funktion Table.TransformColumns mit einer Anweisung zur Transformation der Spalte Status

 

Möchte ich die Spalte leeren oder mit einem bestimmten Text belegen, ersetze ich den Ausdruck „X“ & _ , der dem each folgt, mit dem Schlüsselwort null oder mit einem festen Text, beispielsweise „tbd.“ .

Jeder Wert in der Spalte Status wird mit null (also vollständig geleert) oder dem festen Text "tbd." belegt

Jeder Wert in der Spalte Status wird mit null (also vollständig geleert) oder dem festen Text „tbd.“ belegt

 

Tipp: Um den Schritt nachvollziehen zu können, benenne ich den Schritt Präfix hinzugefügt rechts unter Angewendete Schritte beispielsweise um in Status bereinigt.

Szenario 2: Nur bestimmte Werte in der Spalte ändern

In diesem Fall sollen in der Spalte Status nicht alle Werte geändert werden, sondern nur bestimmte. Beispielsweise soll nur der Wert „neu“ in „tbd.“ geändert werden.

So gehe ich vor …
Wie in Szenario 1 benutze ich den erstellten M-Code und ersetze den Ausdruck „X“ & _ durch eine if-Anweisung: each if _ = „neu“ then „tbd.“ else _. Diese prüft, ob der aktuelle Wert (dargestellt durch Unterstrich _) gleich „neu“ ist und ersetzt in diesem Fall den Text durch „tbd.“. Andernfalls wird der aktuelle Wert (_) beibehalten.

Transformationsschritt wird mit einer if-Anweisung versehen, um nur bestimmte Werte zu ersetzen

Transformationsschritt wird mit einer if-Anweisung versehen, um nur bestimmte Werte zu ersetzen

 

Tipp: Diese Anweisung kann natürlich beliebig erweitert werden, beispielsweise durch Hinzufügen einer or-Anweisung: each if _ = „neu“ or _ = „offen“ then „tbd.“ else _

Szenario 3: Nicht korrekte Werte ersetzen

Die Spalte Datum wurde nicht immer korrekt gepflegt. An manchen Stellen befinden sich Texte in der Spalte. Bevor der Datentyp für diese Spalte geändert wird und dies zu Fehlern führen würde, wird sie mit einer Art wenn-Fehler-Funktion geprüft (tryotherwise).

Nicht korrekte Datumsangaben führen zu Fehlern bei der Umwandlung der Spalte in Datumsformat und sollen daher geleert werden

Nicht korrekte Datumsangaben führen zu Fehlern bei der Umwandlung der Spalte in Datumsformat und sollen daher geleert werden

 

So gehe ich vor …
Wie in Szenario 1 benutze ich den erstellten M-Code. Diesmal ersetze ich den Spaltennamen von Status in Datum und den Ausdruck „X“ & _ durch each try Date.From(_) otherwise null. Mit Hilfe der try-Anweisung wird in diesem Fall geprüft, ob eine Umwandlung in ein Datum möglich ist. Falls nicht, wird der Eintrag geleert.

Zusätzlich kann mit der Transformationsanweisung auch gleich der passende Datentyp mitgegeben werden, in diesem Fall date.

Mit Hilfe der try-Anweisung wird eine Fehlerprüfung vorgenommen und fehlerhafte Daten werden mit der otherwise-Anweisung korrigiert

Mit Hilfe der try-Anweisung wird eine Fehlerprüfung vorgenommen und fehlerhafte Daten werden mit der otherwise-Anweisung korrigiert

Szenario 4: Gleich mehrere Spalten in einem Schritt bereinigen

Sollen auf mehreren Spalten Transformationen vorgenommen werden, so ist auch dies in einem Schritt möglich. Die Funktion Table.TransformColumns erlaubt eine Liste mit Transformationsschritten, die jeweils in geschweiften Klammern und kommagetrennt gelistet werden. So können beispielsweise sowohl die Spalte Status als auch die Spalte Datum in einem Rutsch bereinigt werden.

Die Funktion Table.TransformColumns erlaubt eine Liste von Transformationsschritten

Die Funktion Table.TransformColumns erlaubt eine Liste {..} von Transformationsschritten

 

Alle Szenarien lassen sich mit wenigen Handgriffen in einem Schritt mit Hilfe der Funktion Table.TransformColumns umsetzen. Dabei wird der bestehende Spalteninhalt gezielt ersetzt, ohne jegliche Hilfsspalte.

Zusatz-Tipp: Natürlich kann ich auch jederzeit einen benutzerdefinierten Schritt einfügen und mit folgendem Code jeden beliebigen Ersetzungsprozess ausführen.

Auch ohne einen Transformationsschritt über das Menüband auszuführen und abzuändern, lässt sich ein solcher Schritt über Klick auf das fx erstellen

Auch ohne einen Transformationsschritt über das Menüband auszuführen und abzuändern, lässt sich ein solcher Schritt über Klick auf das fx erstellen

 

Interessiert an weiteren Tipps zu Power Query?
Wer sein Wissen zu Power Query systematisch auf- und ausbauen will, kann dazu einen meiner Online-Kurse nutzen. Auf dieser Seite ist das aktuelle Angebot zu finden.

Power Query: Ausgeblendete Arbeitsblätter auslesen? So geht’s doch!

15.09.2025   Hildegard Hügemann

Kürzlich erhielt ich den Hilferuf einer Anwenderin, weil sie in Excel mit Power Query nicht auf die Daten in einer anderen Arbeitsmappe zugreifen konnte. Sie wurden im Navigator nicht angezeigt. Die Ursache war schnell gefunden: Die betreffende Tabelle mit den Rohdaten lag auf einem ausgeblendeten Arbeitsblatt.
Eigentlich war die Idee gut, das Blatt mit den Rohdaten auszublenden, damit sie nicht versehentlich geändert oder gelöscht werden. ABER: Standardmäßig zeigt Power Query beim Zugriff auf eine andere Arbeitsmappe ausgeblendete Blätter im Navigator-Fenster nicht an.
Muss jetzt das ausgeblendete Blatt erst eingeblendet werden, um es in Power Query auswerten zu können? Nein. Hier kommt eine Anleitung, mit der es trotzdem gelingt.

Nach dem Ausblenden wird das Blatt Rohdaten im Navigator von Power Query nicht angezeigt; auch auf die dort enthaltene Tabelle tbl_Umsatz kann nicht zugegriffen werden

Nach dem Ausblenden wird das Blatt Rohdaten im Navigator von Power Query nicht angezeigt; auch auf die dort enthaltene Tabelle tbl_Umsatz kann nicht zugegriffen werden

Weiterlesen

Power Query: Falsche Datentypen? Drei Tipps, die das verhindern

04.08.2025   Hildegard Hügemann

Es sollte mal wieder schnell gehen und dabei bleib das Festlegen der Datentypen auf der Strecke. Doch spätestens beim nächsten Datenimport rächt sich das. Denn unsachgemäß eingestellte oder bei erneuten Importen nicht überprüfte Datentypen erhöhen das Risiko von Fehlern und Datenverfälschungen. Hier zwei typische Beispiele:
1) In der Abfrage wurden die Datentypen sauber definiert: der Spalte mit der Mengenangabe wurde Ganze Zahl zugewiesen. Beim Import der nächsten Monatsdaten enthält die Spalte mit den Mengenangaben plötzlich Werte mit Dezimalstellen. Die werden automatisch abgeschnitten, da Ganze Zahl eingestellt ist. Eine Verfälschung der Daten ist die Folge.
2) Für die Spalte Menge wurde Ganze Zahl festgelegt, aber beim nächsten Import stehen in der Spalte Menge solche Einträge wie 1 Kiste oder 1 Karton. Das hat Fehler zur Folge, die das Aktualisieren der Daten behindern.

Dies zeigt, dass die Kontrolle der Datentypen in zwei Schritten erfolgen muss: 1) beim Aufbau der Abfrage und 2) beim Import neuer Daten. WIE das geht, zeige ich in diesem Beitrag.

Datentyp beim Erstellen der Analyse gezielt einstellen [1] und beim Update kontrollieren [2]

Datentyp beim Erstellen der Analyse gezielt einstellen [1] und beim Update kontrollieren [2]

Weiterlesen

Power Query: Spalten entfernen ja, aber bitte richtig

30.06.2025   Hildegard Hügemann

Kürzlich hatte ich im Kurs eine spannende Diskussion zum Entfernen von Spalten. Die Frage war: Was tun, wenn sich nach dem Entfernen mehrerer Spalten herausstellt, dass es eine zu viel war? Den Abfrageschritt löschen? Oder lässt der sich nachträglich noch bearbeiten?

Meine Antwort: „Kommt drauf an“! Nämlich darauf, WIE die Spalten entfernt wurden. Das klingt vielleicht ein wenig rätselhaft, aber keine Sorge, ich erkläre es gleich.

Spalten entfernen, aber welche ist die beste Methode?

Spalten entfernen, aber welche ist die beste Methode?

Weiterlesen

Power Query: Merkmale über mehrere Spalten hinweg filtern

14.02.2025   Hildegard Hügemann

Wer hat schon mal versucht, eine Tabelle in Excel oder Power BI nach Merkmalen zu filtern, die über mehrere Spalten verteilt sind? Standardfilter stoßen hier an ihre Grenzen, denn sie funktionieren nur für je eine Spalte. Mit umständlichen Workarounds und Wenn-Hilfsspalten ließe sich das Problem lösen. Oder aber in Power Query mit schlauen List-Funktionen.

Im heutigen Rezept zeige ich, wie Filter dynamisch gestaltet werden, um Daten über mehrere Spalten nach bestimmten Kriterien zu ermitteln oder auszuschließen.

Die folgende Produktliste illustriert das Problem: Die Merkmale für Materialen wurden über mehrere Spalten erfasst. Gesucht werden die Produkte, in denen bestimmte Materialien auf jeden Fall vorkommen – hier Holz und Metall – und andere auf keinen Fall – hier Kunststoff.

Merkmale in verschiedenen Spalten machen das Filtern zum Aus- oder Abwählen von bestimmten Merkmalen kompliziert

Weiterlesen

Power Query: Böse Überraschungen beim Runden vermeiden

09.01.2025   Hildegard Hügemann

Was ergibt sich, wenn die Zahl 2,5 gerundet wird? Excel liefert mit der Funktion RUNDEN das Ergebnis 3, Power Query hingegen 2.

Der Grund dafür: In Power Query wird bei Werten genau in der Mitte zwischen zwei ganzen Zahlen standardmäßig auf die nächste gerade Zahl auf- oder abgerundet. Aus 2,5 wird somit 2, aus 1,5 wird ebenfalls 2.

Wie Power Query beim Runden tickt und wie es auf kaufmännisches Runden umgestellt werden kann, beschreibe ich in diesem Rezept.

Zum Teil unterschiedliche Ergebnisse beim Runden in Excel und Power Query

Zum Teil unterschiedliche Ergebnisse beim Runden in Excel und Power Query

Weiterlesen

Power Query: Weniger Datenlast durch automatisches Ausschließen irrelevanter Spalten

17.12.2024   Hildegard Hügemann

Bei Datenbeständen mit technischen Angaben habe ich schon oft erlebt, dass zahlreiche Spalten nur temporär gebraucht werden oder für die Auswertung nicht von Belang sind. Solche Spalten haben beispielsweise Präfixe wie Sys_oder Tmp_ oder User_.

Um die  Datenlast zu reduzieren, sollten solche nicht benötigten Spalten bei der Analyse ausgeschlossen werden.

Doch wie lässt sich das in Power Query automatisieren und wie lassen sich gezielt unnötige Spalten ermitteln? In diesem Power Query Rezept zeige ich, wie mit einer Änderung im M-Code solche Spalten automatisch entfernt werden, ohne die Spaltennamen direkt anzusprechen!

Spalten mit dem Präfix Sys_ von dem zu analysierenden Datenbestand ausschließen

Spalten mit dem Präfix Sys_ automatisch von dem zu analysierenden Datenbestand ausschließen

Weiterlesen

Power Query: Störende null-Werte ersetzen und somit korrekte Berechnungen sicherstellen

11.12.2024   Hildegard Hügemann

Fehlende Werte – sog. null-Werte – sind oft der Grund, dass Berechnungen gar nicht oder nicht korrekt erfolgen können. In meinem Blogbeitrag Power Query: Falsche Ergebnisse bei leeren Zellen vermeiden habe ich erklärt, wie beim Addieren und Subtrahieren von Zahlen sichergestellt wird, dass auch Zellen mit null korrekt berechnet werden – in dem Fall mit Hilfe der Funktion List.Sum.
Im heutigen Blogbeitrag zeige ich, wie mit Hilfe des COALESCE-Operators ?? störende null-Werte auf einfache Art behandelt werden. Die vielfältige Verwendbarkeit des COALESCE-Operators demonstriere ich anhand von drei Beispielen: 1) Ermitteln des Saldos von Einnahmen und Ausgaben, 2) Berechnen eines rabattierten Betrags und 3) Auswerten von Messreihen.

 

Weiterlesen

Power Query ohne Chaos: Abfragen effizient dokumentieren

05.11.2024   Hildegard Hügemann

Wer kennt das nicht: Bereits nach wenigen Tagen erinnert man sich kaum noch daran, warum ein bestimmter Schritt in eine Power Query-Abfrage eingebaut wurde oder wozu eine spezielle Hilfsabfrage dienen soll. Noch schlimmer: Jemand verlässt das Team und hinterlässt einen Dschungel unkommentierter Abfragen. Wie lässt sich jetzt der Ablauf von Abfragen herausfinden oder gar ändern?

Die Lösung heißt Dokumentation. Doch mal ehrlich: Wer macht das schon gern? Daher zeige ich hier drei Methoden, wie das möglichst mühelos gelingt.

Weiterlesen

Power Query: Falsche Ergebnisse bei leeren Zellen vermeiden

18.10.2024   Hildegard Hügemann

Neulich bei einem bekannten Getränkehersteller: Im Kurs überrascht mich jemand mit der Frage, warum Power Query nicht fehlerfrei subtrahieren könne. Allerdings stellte sich schnell heraus, was die tatsächliche Ursache für falsche Ergebnisse war: Zellen ohne Inhalt, die in Power Query mit null angezeigt werden.
Was ist an null so besonders? Wird beispielsweise von einem Ausgangswert eine null-Zelle subtrahiert, gibt Power Query null zurück statt des Ausgangswertes. Das führt zu Fehlern, wenn der Rückgabewert null in weiteren Berechnungen verarbeitet wird. Mit den folgenden Schritten lassen sich solche Fehler vermeiden.

Bei null-Werten in einer Zelle rechnen die Operatoren +, -, *, / nicht, sondern geben null zurück

Bei null in einer Zelle rechnen die Operatoren Plus (+), Minus (-), Mal (*) oder Geteilt durch (/) nicht, sondern geben null zurück

Weiterlesen