Power Query: Werte ersetzen mit Bedingungen
Schritt-für-Schritt-Anleitung
Um in Power Query Werte zu ersetzen, wenn bestimmte Bedingungen erfüllt sind (z.B. wenn der Artikel mit "-2" endet), folge diesen Schritten:
-
Datenquelle auswählen: Öffne Power Query über Daten > Abfragen und Verbindungen > Abfrage bearbeiten oder Daten abrufen.
-
Hilfsspalte erstellen: Füge eine Hilfsspalte hinzu, um die letzten Zeichen des Artikels zu extrahieren. Dies kannst du mit der Funktion Text.End machen:
= Table.AddColumn(Quelle, "temp", each Text.End([Artikel], 2), type text)
-
Benutzerdefinierte Spalte hinzufügen: Füge eine neue benutzerdefinierte Spalte hinzu, die die Werte ersetzt. Hierbei kannst du eine IF-Bedingung verwenden:
= Table.AddColumn(#"Vorheriger_Schritt", "neu", each if [temp] = "-2" then "E" else [Kategorie])
-
Hilfsspalte entfernen: Entferne die Hilfsspalte, wenn sie nicht mehr benötigt wird:
= Table.RemoveColumns(#"Vorheriger_Schritt", {"temp"})
-
Abfrage schließen und laden: Klicke auf Schließen & Laden, um die Änderungen in Excel zu speichern.
Häufige Fehler und Lösungen
-
Fehler bei der Spaltenbenennung: Achte darauf, dass du die korrekten Namen der vorherigen Schritte verwendest. Wenn du in Power Query eine Spalte umbenennst, musst du diesen Namen in den nachfolgenden Schritten verwenden.
-
M-Code Fehler: Wenn der M-Code nicht funktioniert, überprüfe, ob alle Klammern und Anführungszeichen korrekt gesetzt sind.
-
Null-Werte ersetzen: Wenn du mit Null-Werten arbeitest, kannst du diese einfach durch 0 ersetzen, indem du die Funktion if [Spalte] = null then 0 else [Spalte] verwendest.
Alternative Methoden
Es gibt verschiedene Möglichkeiten, mehrere Werte in Power Query zu ersetzen:
-
Bedingte Spalte erstellen: Anstatt eine Hilfsspalte zu verwenden, kannst du auch direkt eine bedingte Spalte hinzufügen:
= Table.AddColumn(Quelle, "neu", each if Text.End([Artikel], 2) = "-2" then "E" else [Kategorie])
-
Fehler ersetzen: Um Fehler in der Abfrage zu ersetzen, kannst du die Funktion try ... otherwise verwenden:
= Table.AddColumn(Quelle, "neu", each try if Text.End([Artikel], 2) = "-2" then "E" else [Kategorie] otherwise "Fehler")
Praktische Beispiele
Hier ist ein einfaches Beispiel, das zeigt, wie du in Power Query Werte ersetzen kannst:
let
Quelle = Excel.CurrentWorkbook(){[Name="Basisdaten"]}[Content],
HinzugefügteSpalte = Table.AddColumn(Quelle, "neu", each if Text.End([Artikel], 2) = "-2" then "E" else [Kategorie])
in
HinzugefügteSpalte
In diesem Beispiel wird eine neue Spalte "neu" erstellt, die "E" enthält, wenn der Artikel mit "-2" endet, anderenfalls wird der Wert der Spalte "Kategorie" übernommen.
Tipps für Profis
-
M-Code optimieren: Vermeide unnötige Schritte im M-Code, indem du mehrere Transformationen in einem Schritt kombinierst. Dies verbessert die Performance.
-
Debugging: Nutze den Erweiterten Editor, um den M-Code zu bearbeiten und zu testen. Hier kannst du auch Teile des Codes kommentieren, um Fehler leichter zu identifizieren.
-
Automatisierung: Speichere häufig verwendete Abfragen als Vorlagen, um Zeit bei der Datenbearbeitung zu sparen.
FAQ: Häufige Fragen
1. Wie kann ich mehrere Werte in einer Spalte gleichzeitig ersetzen?
Du kannst mehrere Bedingungen in einer IF-Anweisung kombinieren oder die List.Contains-Funktion verwenden, um eine Liste von Werten zu überprüfen.
2. Was mache ich, wenn Power Query nicht die erwarteten Ergebnisse liefert?
Überprüfe den M-Code auf mögliche Syntaxfehler, und stelle sicher, dass die Datenquelle korrekt geladen wurde. Zudem kann es helfen, die Schritte in Power Query zu verfolgen und zu überprüfen, ob die Daten wie gewünscht transformiert werden.
3. Kann ich Power Query auch in Power BI verwenden?
Ja, Power Query ist eine integrierte Funktion sowohl in Excel als auch in Power BI, sodass du ähnliche Techniken in beiden Programmen verwenden kannst.