Freigeben über


Häufige Probleme

Power Query

Beibehalten der Sortierung

Wenn Sie Ihre Daten sortieren, behalten alle nachgelagerten Vorgänge die Sortierreihenfolge bei.

Wenn Sie z. B. eine Verkaufstabelle so sortieren, dass zuerst das größte Sonderangebot jedes Stores angezeigt wird, erwarten Sie möglicherweise, dass ein Vorgang "Duplikate entfernen" nur den obersten Verkauf für jeden Store zurückgibt. Und dieser Vorgang kann tatsächlich funktionieren. Dieses Verhalten ist jedoch nicht garantiert.

Aufgrund der Art und Weise, wie Power Query bestimmte Vorgänge optimiert, z. B. das Überspringen oder Auslagern an Datenquellen (die ihr eigenes eindeutiges Sortierverhalten haben können), wird die Sortierreihenfolge nicht garantiert durch Aggregationen (z Table.Group. B. ), Zusammenführungen (z Table.NestedJoin. B. ) oder das Entfernen von Duplikaten (z Table.Distinct. B. ) beibehalten.

Es gibt eine Reihe von Möglichkeiten, um dies zu umgehen. Hier sind einige Vorschläge:

  • Führen Sie nach dem Anwenden des nachgeschalteten Vorgangs eine Sortierung durch. Sortieren Sie beispielsweise beim Gruppieren von Zeilen die geschachtelte Tabelle in jeder Gruppe, bevor Sie weitere Schritte anwenden. Im Folgenden finden Sie einige Beispiel-M-Code, der diesen Ansatz veranschaulicht: Table.Group(Sales_SalesPerson, {"TerritoryID"}, {{"SortedRows", each Table.Sort(_, {"SalesYTD", Order.Descending})}})
  • Puffern Sie die Daten (mithilfe von Table.Buffer) vor dem Anwenden des nachgeschalteten Vorgangs. In einigen Fällen führt dieser Vorgang dazu, dass der nachgeschaltete Vorgang die gepufferte Sortierreihenfolge beibehält.
  • Verwenden Sie die Rangfolge. Anstatt Table.Distinct zu verwenden, können Sie beispielsweise nach den Spalten, die die doppelten Werte enthalten, sortieren, die Rangfolge basierend auf einer Tie-Breaker-Spalte (wie modified_date) festlegen und dann filtern, um nur die Zeilen mit Rang 1 beizubehalten.

Datentypinferenz

Manchmal erkennt Power Query möglicherweise fälschlicherweise den Datentyp einer Spalte. Dies liegt daran, dass Power Query Datentypen nur anhand der ersten 200 Datenzeilen ableitet. Wenn die Daten in den ersten 200 Zeilen in irgendeiner Weise unterschiedlich sind als die Daten nach Zeile 200, kann Power Query am Ende den falschen Typ auswählen. (Beachten Sie, dass ein falscher Typ nicht immer Fehler erzeugt. Manchmal sind die resultierenden Werte einfach falsch, wodurch das Problem schwieriger zu erkennen ist.)

Stellen Sie sich beispielsweise eine Spalte vor, die ganze Zahlen in den ersten 200 Zeilen (z. B. alle Nullen) enthält, aber dezimale Zahlen nach Zeile 200 enthält. In diesem Fall leitet Power Query den Datentyp der Spalte auf "Ganze Zahl" (Int64.Type) ab. Diese Schlussfolgerung führt dazu, dass die Dezimalstellen aller nicht ganzzahligen Zahlen abgetrennt werden.

Oder stellen Sie sich eine Spalte vor, die Textdatumswerte in den ersten 200 Zeilen und andere Arten von Textwerten nach Zeile 200 enthält. In diesem Fall leitet Power Query den Datentyp der Spalte auf Datum ab. Diese Ableitung führt dazu, dass die Nichtdatumstextwerte als Typkonvertierungsfehler behandelt werden.

Da die Typerkennung für die ersten 200 Zeilen funktioniert, die Datenprofilerstellung jedoch über den gesamten Datensatz ausgeführt werden kann, können Sie die Verwendung der Datenprofilerstellungsfunktion in Betracht ziehen, um einen frühen Hinweis im Abfrage-Editor zu Fehlern (von der Typerkennung oder einer beliebigen Anzahl anderer Gründe) über die obersten N-Zeilen hinaus zu erhalten.

Verbindungen, die vom entfernten Host erzwungen geschlossen wurden

Beim Herstellen einer Verbindung mit verschiedenen APIs wird möglicherweise die folgende Warnung angezeigt:

Data source error: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host

Wenn dieser Fehler auftritt, ist es höchstwahrscheinlich ein Netzwerkproblem. Im Allgemeinen sind die ersten Personen, mit denen Sie eine Verbindung herstellen möchten, die Besitzer der Datenquelle, mit der Sie eine Verbindung herstellen möchten. Wenn sie nicht der Meinung sind, dass sie die Verbindung schließen, dann ist es möglich, dass etwas auf dem Weg die Verbindung schließt (z. B. ein Proxyserver, Zwischenrouter/Gateways usw.).

Egal ob dies mit allen Daten oder nur größeren Datenmengen reproduziert wird, wahrscheinlich tritt irgendwo auf der Route ein Netzwerktimeout auf. Wenn es sich nur um größere Daten handelt, sollten Kunden sich mit dem Datenquellenbesitzer in Verbindung setzen, um festzustellen, ob ihre APIs paging unterstützen, damit sie ihre Anforderungen in kleinere Abschnitte aufteilen können. Falls dies nicht möglich ist, sollten alternative Methoden zur Extraktion von Daten aus der API unter Berücksichtigung der Best Practices für die Datenquelle befolgt werden.

TLS RSA-Verschlüsselungssammlungen sind veraltet

Ab dem 30. Oktober 2020 werden die folgenden Verschlüsselungssammlungen von unseren Servern entfernt.

  • "TLS_RSA_WITH_AES_256_GCM_SHA384"
  • "TLS_RSA_WITH_AES_128_GCM_SHA256"
  • "TLS_RSA_WITH_AES_256_CBC_SHA256"
  • "TLS_RSA_WITH_AES_128_CBC_SHA256"

Die folgende Liste sind die unterstützten Verschlüsselungssammlungen:

  • "TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256"
  • "TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384"
  • "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256"
  • "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384"
  • TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256
  • "TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384"
  • "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256"
  • "TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384"

Verschlüsselungssammlungen werden zum Verschlüsseln von Nachrichten verwendet, um eine Netzwerkverbindung zwischen Clients/Servern und anderen Servern sicherzustellen. Wir entfernen die obige Liste mit Verschlüsselungselementen, um unseren aktuellen Sicherheitsprotokollen zu entsprechen. Ab dem 1. März 2021 können Kunden nur noch unsere Standardverschlüsselungssammlungen verwenden.

Es handelt sich um die Cipher-Suites, die der Server, mit dem Sie eine Verbindung herstellen, unterstützen muss, um eine Verbindung von Power Query Online oder Power BI zu ermöglichen.

In Power Query Desktop (Power BI, Excel) steuern wir Ihre Verschlüsselungssammlungen nicht. Wenn Sie versuchen, eine Verbindung mit Power Platform (z. B. Power Platform Dataflows) oder dem Power BI-Dienst herzustellen, benötigen Sie eine dieser Verschlüsselungssammlungen, die auf Ihrem Betriebssystem aktiviert sind. Sie können entweder die Windows-Version aktualisieren oder die Windows TLS-Registrierung aktualisieren, um sicherzustellen, dass Ihr Server-Endpunkt eine dieser Verschlüsselungen unterstützt.

Um zu überprüfen, ob Ihr Server dem Sicherheitsprotokoll entspricht, können Sie einen Test mit einem TLS-Verschlüsselungs- und Scannertool durchführen. Ein Beispiel könnte SSLLABS sein.

Kunden müssen ihre Server vor dem 1. März 2021 upgraden. Weitere Informationen zum Konfigurieren der TLS-Cipher-Suite-Reihenfolge finden Sie unter Transport Layer Security (TLS) verwalten.

Zertifikatswiderruf

Eine kommende Version von Power BI Desktop verursacht einen Fehler bei SSL-Verbindungen von Power BI Desktop, wenn in der SSL-Kette der Zertifikatsperrstatus eines Zertifikats fehlt. Dies ist eine Änderung des aktuellen Zustands, bei der die Sperrung nur zu Verbindungsfehlern führte, wenn das Zertifikat explizit widerrufen wurde. Andere Zertifikatprobleme können ungültige Signaturen und den Ablauf des Zertifikats umfassen.

Da Es Konfigurationen gibt, in denen der Sperrstatus entfernt werden kann, z. B. bei Unternehmensproxyservern, stellen wir eine weitere Option bereit, Zertifikate zu ignorieren, die keine Sperrinformationen enthalten. Diese Option ermöglicht Situationen, in denen Sperrinformationen in bestimmten Fällen entfernt werden, aber Sie nicht vollständig die Sicherheit verringern möchten, um den Vorgang fortzusetzen.

Es wird nicht empfohlen, aber Benutzer können die Sperrüberprüfungen weiterhin vollständig deaktivieren.

Fehler: Die Auswertung wurde abgebrochen.

Power Query gibt die Meldung "Auswertung wurde abgebrochen" zurück, wenn die Hintergrundanalyse deaktiviert ist und der Benutzer zwischen Abfragen wechselt oder den Abfrage-Editor schließt, während sich eine Abfrage während der Aktualisierung befindet.

Fehler: Der Schlüssel stimmte mit keiner Zeile in der Tabelle überein.

Es gibt viele Gründe, warum Power Query möglicherweise einen Fehler zurückgibt, dass der Schlüssel keiner Zeile in der Tabelle entspricht. Wenn dieser Fehler auftritt, kann das Mashup-Modul den Gesuchten Tabellennamen nicht finden. Gründe, warum dieser Fehler auftreten kann, sind:

  • Der Tabellenname wurde geändert, z. B. in der Datenquelle selbst.
  • Das Konto, das für den Zugriff auf die Tabelle verwendet wird, verfügt nicht über ausreichende Berechtigungen zum Lesen der Tabelle.
  • Es können mehrere Anmeldeinformationen für eine einzelne Datenquelle vorhanden sein, die in Power BI-Dienst bei Verwendung von persönlichen Cloudverbindungen nicht unterstützt wird. Dieser Fehler kann z. B. auftreten, wenn es sich bei der Datenquelle um eine Clouddatenquelle handelt und mehrere Konten gleichzeitig mit unterschiedlichen Anmeldeinformationen auf die Datenquelle zugreifen. Wenn die Datenquelle lokal ist, müssen Sie das lokale Datengateway verwenden.

Einschränkung: Domänenverbundene Anforderung für Gatewaycomputer bei Verwendung der Windows-Authentifizierung

Die Verwendung der Windows-Authentifizierung mit einem lokalen Gateway erfordert, dass der Gatewaycomputer einer Domäne beigetreten ist. Dies gilt für alle Verbindungen, die mit "Windows-Authentifizierung über das Gateway*" eingerichtet sind. Windows-Konten, die für den Zugriff auf eine Datenquelle verwendet werden, erfordern möglicherweise Lesezugriff auf die freigegebenen Komponenten im Windows-Verzeichnis und die Gatewayinstallation.

Einschränkung: Die mandantenübergreifende OAuth2-Aktualisierung wird im Power BI-Dienst nicht unterstützt.

Wenn Sie eine Verbindung mit einer Datenquelle aus dem Power BI-Dienst mithilfe von OAuth2 herstellen möchten, muss sich die Datenquelle im selben Mandanten wie der Power BI-Dienst befinden. Derzeit werden Szenarien mit mehrinstanzenfähigen Verbindungen mit OAuth2 nicht unterstützt.

Einschränkung: Der benutzerdefinierte AD FS-Authentifizierungsendpunkt wird im Power BI-Dienst nicht unterstützt.

Die Möglichkeit, einen benutzerdefinierten AD FS-Authentifizierungsendpunkt (Active Directory Federation Services) zu verwenden, wird im Power BI-Dienst nicht unterstützt. Möglicherweise tritt der folgende Fehler auf: Der von der Ressource gemeldete Token-Dienst ist nicht vertrauenswürdig.

Einschränkung: Gastkonten werden nicht unterstützt

Die Verwendung von Gastkonten eines Mandanten zum Herstellen einer Verbindung mit Daten mithilfe von Power Query-Connectors wird derzeit nicht unterstützt.

Expression.Error: Die Auswertung führte zu einem Stapelüberlauf und kann nicht fortgesetzt werden.

Stapelüberlauffehler können durch einen Fehler in Ihrem M-Code verursacht werden. Die folgende Funktion erzeugt z. B. einen Stapelüberlauf, da sie sich immer wieder ohne jegliche Endbedingung selbst aufruft. Eine Funktion, die sich auf diese Weise aufruft, wird als "rekursive" Funktion bezeichnet.

let f = (x) => @f(x + 1) in f(0)

Im Folgenden finden Sie einige gängige Methoden zum Auflösen eines Stapelüberlaufs in Ihrem M-Code.

  • Stellen Sie sicher, dass die rekursiven Funktionen tatsächlich beendet werden, wenn die erwartete Endbedingung erreicht ist.
  • Ersetzen Sie rekursion durch Iteration (z. B. mithilfe von Funktionen wie List.Transform, List.Generate oder List.Accumulate).

Expression.Error: Der Arbeitsspeicher für die Auswertung wurde aufgebraucht und kann nicht fortgesetzt werden.

Speichermangel-Fehler (oder OOMs) können entstehen, wenn zu viele speicherintensive Vorgänge mit sehr großen Tabellen durchgeführt werden. Der folgende M-Code erzeugt z. B. ein OOM, da er versucht, eine Milliarde Zeilen gleichzeitig in den Arbeitsspeicher zu laden.

Table.Buffer(Table.FromList({1..1000000000}, Splitter.SplitByNothing()))

Um Speicherfehler zu beheben, optimieren Sie speicherintensive Vorgänge wie Sortierungen, Verknüpfungen, Gruppierungen und Distinktionen, indem Sie sicherstellen, dass sie zur Quelle zurückgefaltet werden, oder indem Sie sie sofern möglich, ganz entfernen. Sortierungen, z. B. sind häufig unnötig.

Power Query Online kann keine Verbindung über einen öffentlichen Endpunkt herstellen, wenn ein privater Endpunkt mit einem Speicher konfiguriert ist

Wenn ein privater Endpunkt für ein Speicherkonto konfiguriert ist, löst Power Query Online immer die Adresse des privaten Links auf und kann keine Verbindung über das öffentliche Internet herstellen – auch wenn der öffentliche Zugriff in der Konfiguration des privaten Endpunkts auf "Zugelassen" festgelegt ist.

Dieses Verhalten tritt auf, da der private Endpunkt Vorrang vor der öffentlichen Konnektivität hat. Daher schlägt jeder Versuch, eine Verbindung ohne Gateway herzustellen, fehl.

Dataflows

Abbrechen der Datenflussaktualisierung

Manchmal starten Sie eine Datenflussaktualisierung, aber nach dem Start merken Sie, dass Sie vor der Aktualisierung Ihrer Daten noch eine Änderung vornehmen wollten. In diesem Fall müssen Sie warten, bis die Aktualisierung abgeschlossen ist. Das Beenden einer Aktualisierung in der Mitte, da der Prozess bereits daran arbeitet, die Daten zu erhalten und die Tabellen in Ihrem Arbeitsbereich oder Ihrer Umgebung zu aktualisieren, wird derzeit nicht unterstützt.

Wir planen, in Zukunft Unterstützung für das Abbrechen einer Datenflussaktualisierung hinzuzufügen.