Umgang mit Fehlern in Power Query
In Power Query können zwei Arten von Fehlern auftreten:
- Fehler auf Schrittebene
- Fehler auf Zellebene
Dieser Artikel enthält Vorschläge zur Behebung der häufigsten Fehler, die auf jeder Ebene auftreten können, und beschreibt die Fehlerursache, die Fehlermeldung und die Fehlerdetails für jede Ebene.
Ein Step-Level-Fehler verhindert das Laden der Abfrage und zeigt die Fehlerkomponenten in einem gelben Fenster an.
- Fehlerursache: Der erste Abschnitt vor dem Doppelpunkt. Im obigen Beispiel lautet die Fehlerursache Expression.Error.
- Fehlermeldung: Der Abschnitt direkt nach der Begründung. Im obigen Beispiel lautet die Fehlermeldung Die Spalte „Column“ der Tabelle wurde nicht gefunden.
- Fehlerdetails: Der Abschnitt direkt nach den Details: „string“. Im obigen Beispiel lautet die Fehlerangabe Spalte.
In allen Fällen empfehlen wir Ihnen, sich die Fehlerursache, die Fehlermeldung und die Fehlerdetails genau anzusehen, um die Fehlerursache zu verstehen. Sie können die Schaltfläche Go to error auswählen, falls verfügbar, um den ersten Schritt anzuzeigen, bei dem der Fehler aufgetreten ist.
Dieser Fehler tritt häufig auf, wenn der Benutzer nicht auf die Datenquelle zugreifen kann, der Benutzer nicht über die richtigen Anmeldeinformationen für den Zugriff auf die Datenquelle verfügt oder die Quelle an einen anderen Ort verschoben wurde.
Beispiel: Sie haben eine Abfrage aus einer Textkachel, die sich auf Laufwerk D befindet und von Benutzer A erstellt wurde. Benutzer A gibt die Abfrage für Benutzer B frei, der keinen Zugriff auf Laufwerk D hat. Wenn diese Person versucht, die Abfrage auszuführen, erhält sie eine DataSource.Error, da es in ihrer Umgebung kein Laufwerk D gibt.
Mögliche Lösungen: Sie können den Dateipfad der Textdatei in einen Pfad ändern, auf den beide Benutzer Zugriff haben. Als Benutzer B können Sie den Dateipfad so ändern, dass er eine lokale Kopie der gleichen Textdatei ist. Wenn die Schaltfläche Einstellungen bearbeiten im Fehlerbereich verfügbar ist, können Sie sie auswählen und den Dateipfad ändern.
Dieser Fehler wird häufig ausgelöst, wenn ein Schritt einen direkten Verweis auf einen Spaltennamen enthält, der in der Abfrage nicht existiert.
Beispiel: Sie haben eine Abfrage aus einer Textdatei, in der einer der Spaltennamen Spalte war. In Ihrer Abfrage haben Sie einen Schritt, der diese Spalte in Datum umbenennt. Es gab jedoch eine Änderung in der ursprünglichen Textdatei, und die Spaltenüberschrift mit dem Namen Column ist nicht mehr vorhanden, da sie manuell in Date geändert wurde. Power Query kann keine Spaltenüberschrift mit dem Namen Column finden und kann daher keine Spalten umbenennen. Es wird der in der folgenden Abbildung dargestellte Fehler angezeigt.
Mögliche Lösungen: Es gibt mehrere Lösungen für diesen Fall, aber sie hängen alle davon ab, was Sie tun möchten. Da in diesem Beispiel die korrekte Spaltenüberschrift Datum bereits aus Ihrer Textdatei stammt, können Sie den Schritt zur Umbenennung der Spalte einfach entfernen. Dadurch kann Ihre Abfrage ohne diesen Fehler ausgeführt werden.
Beim Kombinieren oder Zusammenführen von Daten aus mehreren Datenquellen kann ein Formula.Firewall-Fehler wie der im folgenden Bild gezeigte auftreten.
Dieser Fehler kann durch eine Reihe von Gründen verursacht werden, wie z. B. die Datenschutzstufen zwischen den Datenquellen oder die Art und Weise, wie diese Datenquellen kombiniert oder zusammengeführt werden. Weitere Informationen zur Diagnose dieses Problems finden Sie unter Datenschutz-Firewall.
Ein Fehler auf Zellebene verhindert nicht das Laden der Abfrage, sondern zeigt Fehlerwerte als Fehler in der Zelle an. Wenn Sie das Leerzeichen in der Zelle auswählen, wird der Fehlerbereich unterhalb der Datenvorschau angezeigt.
Hinweis
Die Tools zur Datenprofilerstellung können Ihnen helfen, Fehler auf Zellebene mithilfe der Spaltenqualitätsfunktion leichter zu erkennen. Weitere Informationen: Werkzeuge zur Erstellung von Datenprofilen
Beim Auftreten von Fehlern auf Zellebene stellt Power Query eine Reihe von Funktionen zur Verfügung, mit denen diese Fehler entweder entfernt, ersetzt oder beibehalten werden können.
In den folgenden Abschnitten werden die Beispiele mit der gleichen Beispielabfrage beginnen. In dieser Abfrage haben Sie eine Spalte Sales , die eine Zelle mit einem Fehler enthält, der durch einen Konvertierungsfehler verursacht wurde. Der Wert in dieser Zelle war NA, aber als Sie diese Spalte in eine ganze Zahl umwandelten, konnte Power Query NA nicht in eine Zahl umwandeln und zeigt daher den folgenden Fehler an.
Um fehlerhafte Zeilen in Power Query zu entfernen, markieren Sie zunächst die Spalte, die Fehler enthält. Wählen Sie auf der Registerkarte Home in der Gruppe Zeilen reduzieren die Option Zeilen entfernen. Wählen Sie aus dem Dropdown-Menü Fehler entfernen.
Das Ergebnis dieses Vorgangs liefert Ihnen die Tabelle, die Sie suchen.
Wenn Sie die fehlerhaften Zeilen nicht entfernen, sondern durch einen festen Wert ersetzen wollen, können Sie dies ebenfalls tun. Um fehlerhafte Zeilen zu ersetzen, markieren Sie zunächst die Spalte, die Fehler enthält. Wählen Sie auf der Registerkarte Transform in der Gruppe Beliebige Spalte die Option Werte ersetzen. Wählen Sie aus dem Dropdown-Menü Fehler ersetzen.
Geben Sie im Dialogfeld Fehler ersetzen den Wert 10 ein, da Sie alle Fehler mit dem Wert 10 ersetzen möchten.
Das Ergebnis dieses Vorgangs liefert Ihnen die Tabelle, die Sie suchen.
Power Query kann als gutes Prüfwerkzeug dienen, um fehlerhafte Zeilen zu identifizieren, auch wenn Sie die Fehler nicht beheben. Hier kann Fehler behalten hilfreich sein. Um fehlerhafte Zeilen beizubehalten, markieren Sie zunächst die Spalte, die Fehler enthält. Wählen Sie auf der Registerkarte Home in der Gruppe Zeilen reduzieren die Option Zeilen behalten. Wählen Sie aus dem Dropdown-Menü Fehler beibehalten.
Das Ergebnis dieses Vorgangs liefert Ihnen die Tabelle, die Sie suchen.
Wie bei allen Fehlern auf Schrittebene empfehlen wir Ihnen, sich die Fehlerursachen, Fehlermeldungen und Fehlerdetails auf Zellebene genau anzusehen, um die Fehlerursache zu verstehen. In den folgenden Abschnitten werden einige der häufigsten Fehler auf Zellebene in Power Query behandelt.
Wird häufig ausgelöst, wenn der Datentyp einer Spalte in einer Tabelle geändert wird. Einige in der Spalte gefundene Werte konnten nicht in den gewünschten Datentyp konvertiert werden.
Beispiel: Sie haben eine Abfrage, die eine Spalte mit dem Namen Sales enthält. Eine Zelle in dieser Spalte hat NA als Zellwert, während die übrigen Zellen ganze Zahlen als Werte haben. Sie beschließen, den Datentyp der Spalte von Text in ganze Zahlen umzuwandeln, aber die Zelle mit dem Wert NA verursacht einen Fehler.
Mögliche Lösungen: Nachdem Sie die Zeile mit dem Fehler identifiziert haben, können Sie entweder die Datenquelle so ändern, dass sie den korrekten Wert anstelle von NA wiedergibt, oder Sie können eine Fehler ersetzen Operation anwenden, um einen Wert für alle NA Werte bereitzustellen, die einen Fehler verursachen.
Wenn Sie versuchen, eine nicht unterstützte Operation anzuwenden, wie z. B. die Multiplikation eines Textwerts mit einem numerischen Wert, tritt ein Fehler auf.
Beispiel: Sie möchten eine benutzerdefinierte Spalte für Ihre Abfrage erstellen, indem Sie eine Textzeichenfolge erstellen, die die Phrase „Total Sales“ enthält: " mit dem Wert aus der Spalte Sales verkettet. Es tritt ein Fehler auf, weil die Verkettungsoperation nur Textspalten und keine numerischen Spalten unterstützt.
Mögliche Lösungen: Bevor Sie diese benutzerdefinierte Spalte erstellen, ändern Sie den Datentyp der Spalte Sales in Text.
Bei der Arbeit mit Daten, die verschachtelte strukturierte Werte enthalten (z. B. Tabellen, Listen oder Datensätze), kann manchmal der folgende Fehler auftreten:
Expression.Error: We cannot return a value of type {value} in this context
Details: In the past we would have returned a text value of {value}, but we now return this error. Please see https://go.microsoft.com/fwlink/?linkid=2099726 for more information.
Diese Fehler treten in der Regel aus zwei Gründen auf:
- Wenn die Data Privacy Firewall eine Datenquelle puffert, werden verschachtelte nicht-skalare Werte automatisch in Fehler umgewandelt.
- Wenn eine mit dem Datentyp
Any
definierte Spalte nicht-skalare Werte enthält, werden solche Werte beim Laden als Fehler gemeldet (z. B. in einer Arbeitsmappe in Excel oder dem Datenmodell in Power BI Desktop).
Mögliche Lösungen:
- Entfernen Sie die Spalte, die den Fehler enthält, oder setzen Sie einen anderen Datentyp als
Any
für eine solche Spalte. - Ändern Sie die Vertraulichkeitsstufen der beteiligten Datenquellen so, dass sie ohne Pufferung kombiniert werden können.
- Reduzieren Sie die Tabellen vor dem Zusammenführen, um Spalten zu eliminieren, die verschachtelte strukturierte Werte enthalten (z. B. Tabelle, Datensatz oder Liste).