top of page

Fehler in Power Query-Tabellen mit einer eigenen Funktion automatisch erkennen

  • Writer: MirVel
    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.


Ein Datenblatt zeigt Verkaufsdaten. Ein Pop-up meldet: "1 von 2 Abfragen enthält Fehler". 15.000 Zeilen geladen. "chem_Sales" abgeschlossen.
15.000 Zeilen konnten nicht geladen werden, wegen eines Typfehlers.

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:

  1. Lade chem_Sales in Power Query.

  2. Erstelle eine neue leere Abfrage und füge dort obigen Code ein.

  3. 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:

Power Query-Editor zeigt eine Tabelle mit Spaltennamen: Name, Value, Reason, Message. Häufige Fehler und Ausdrucksfehler sind enthalten.
Filtrierte Tabelle auf Fehler.
  • 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:

Excel-Fehlermeldung in Tabelle: "We cannot apply operator / to types Text and Number." Graues Interface, Excelized-Logo.
Die Tabelle ist nun sauber geladen – keine Fehler mehr, und dein Bericht zeigt vollständige Werte.

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!


 
 
 

© 2025 Excelized. All rights reserved.

bottom of page