Fehler in Power Query-Tabellen mit einer eigenen Funktion automatisch erkennen
- MirVel
- 5 days ago
- 3 min read
Updated: 4 days ago
Beim Arbeiten mit Power Query in Excel oder Power BI passieren oft Fehler: falsche Datentypen, Division durch Text oder unerwartete Nullwerte. Statt diese manuell zu suchen, kannst du dir mit einer benutzerdefinierten Funktion automatisch anzeigen lassen, wo und warum diese Fehler auftreten.
In diesem Blogbeitrag zeige ich dir:
✅ Warum Fehlererkennung wichtig ist
🧠 Was die M-Funktion genau macht
🧰 Wie du sie einsetzt
🖼️ Mit Screenshots zur besseren Veranschaulichung
Warum ist das überhaupt wichtig?
Stell dir vor: Du lädst Tausende Datenzeilen – und in deinem Power BI-Bericht fehlen plötzlich Werte oder ein Diagramm bricht ab. Du schaust in die Datenquelle und bekommst eine Fehlermeldung wie:
„Wir können den Operator / nicht auf die Typen Text und Zahl anwenden.“
Genau das ist mir passiert. Der Ladevorgang zeigte direkt 15.000 Zeilen mit Fehlern an.

Statt diese Fehler einzeln zu suchen, habe ich eine kleine Power Query-Funktion geschrieben, die:
Nur fehlerhafte Zeilen extrahiert
Alle Details zu den Fehlern zeigt
Mir hilft, die Ursache gezielt zu beheben
Die benutzerdefinierte Power Query-Funktion
Hier ist der vollständige M-Code. Speichere ihn in Power Query als neue leere Abfrage und nenne sie z. B. fnDetectErrors.
(input as table) =>
let
Source = input,
#"Kept Errors" = Table.SelectRowsWithErrors(Source, Table.ColumnNames(input)),
#"Added Custom" = Table.AddColumn(#"Kept Errors", "AllItems", each _),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Custom", each Record.ToTable([AllItems])),
#"Removed Other Columns" = Table.SelectColumns(#"Added Custom1",{"Custom"}),
#"Expanded Custom" = Table.ExpandTableColumn(#"Removed Other Columns", "Custom", {"Name", "Value"}, {"Name", "Value"}),
#"Added Custom2" = Table.AddColumn(#"Expanded Custom", "Custom", each try [Value]),
#"Expanded Custom1" = Table.ExpandRecordColumn(#"Added Custom2", "Custom", {"Error"}, {"Error"}),
#"Expanded Error" = Table.ExpandRecordColumn(#"Expanded Custom1", "Error", {"Reason", "Message", "Detail", "Message.Format", "Message.Parameters", "ErrorCode"}, {"Reason", "Message", "Detail", "Message.Format", "Message.Parameters", "ErrorCode"}),
#"Filtered Rows" = Table.SelectRows(#"Expanded Error", each [Reason] <> null and [Reason] <> "")
in
#"Filtered Rows"
Anwendung der Funktion
Angenommen, du arbeitest mit einer Tabelle chem_Sales, in der beim Laden Fehler auftreten. So verwendest du die Funktion:
Lade chem_Sales in Power Query.
Erstelle eine neue leere Abfrage und füge dort obigen Code ein.
Rufe die Funktion auf mit:
= fnDetectErrors(chem_Sales)
Schon bekommst du nur die fehlerhaften Zeilen aufgelistet – super schnell und übersichtlich.
Was zeigt das Ergebnis?
Nach dem Aufruf der Funktion sieht das Ergebnis so aus:

Name → die betroffene Spalte
Value → zeigt „Error“
Reason → z. B. Expression.Error
Message → verständlicher Text wie „Wir können nicht durch Text teilen“
Message.Format, ErrorCode etc. → technische Details
🔎 In diesem Beispiel tritt der Fehler in der Spalte Discount_Percent auf. Power Query versuchte hier, einen Textwert durch eine Zahl zu teilen – das funktioniert natürlich nicht.
Ergebnis im Bericht
Nach der Fehleranalyse und Typkorrektur kannst du die Daten ohne Probleme laden:

Sie können eine Tabellendarstellung hinzufügen, um einen vollständigen Überblick über alle Lasten und die Datenqualität zu erhalten, die in den Bericht importiert werden (z. B. Excel).
Tipps für die Praxis
Diese Methode kannst du vielseitig einsetzen:
🔁 Verwende fnDetectErrors() immer während der Entwicklung
🧪 Ergänze bei Bedarf mit Table.DetectType, um Spaltentypen zu prüfen
💬 Leite die Fehler in ein separates Log-Sheet weiter
🚫 Entferne Fehler nie blind mit „Fehler entfernen“ – analysiere sie!
Wann sinnvoll?
Diese Funktion ist nützlich für:
Eigenentwickelte Berechnungen mit Potenzial für Typkonflikte
Importierte Daten aus Drittquellen (CRM, Web, CSV etc.)
Audits und Qualitätssicherung
Schulungen und Präsentationen zu Power Query
Fazit
Fehler in Power Query sind unvermeidlich – aber sie müssen kein Albtraum sein. Mit dieser kleinen Funktion bekommst du sofort Klarheit darüber, wo und warum Fehler auftreten.
Du sparst Zeit, bekommst Kontrolle – und dein Bericht bleibt stabil und vertrauenswürdig.
You can download M-code here for free!