Freigeben über


Häufige Probleme

Power Query

Sortierung beibehalten

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 wird 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 aufweisen können), kann die Beibehaltung der Sortierreihenfolge durch Aggregationen (z. B. Table.Group), Zusammenführungen (z. B. Table.NestedJoin) oder das Entfernen von Duplikaten (z. B. Table.Distinct) nicht garantiert werden.

Es gibt verschiedene Möglichkeiten, 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. Hier ist ein 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 nachgelagerten Vorgangs. In einigen Fällen bewirkt dieser Vorgang, dass der nachgeschaltete Vorgang die gepufferte Sortierreihenfolge beibehalten wird.
  • Verwenden Sie die Rangfolge. Statt beispielsweise Table.Distinct zu verwenden, können Sie nach den Spalten sortieren, die die doppelten Werte enthalten, und die Rangfolge auf der Grundlage einer Entscheidungskriterium-Spalte (z. B. modified_date) festlegen und dann filtern, um nur die Zeilen mit Rang 1 beizubehalten.

Datentyp-Inferenz

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 sich die Daten in den ersten 200 Zeilen irgendwie von den Daten nach Zeile 200 unterscheiden, wählt Power Query möglicherweise den falschen Typ aus. (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 Ableitung führt zu den Dezimalstellen aller nicht ganzzahligen Zahlen, die abgeschnitten 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 das gesamte Dataset 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, deren Schließung vom Remotehost erzwungen wurde

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, handelt es sich höchstwahrscheinlich um ein Netzwerkproblem. Im Allgemeinen sind die ersten Personen, bei denen Sie sich erkundigen, die Besitzer der Datenquelle, zu der Sie eine Verbindung herstellen möchten. Wenn sie ihrer Meinung nicht diejenigen sind, die die Verbindung schließen, gibt es möglicherweise unterwegs ein Problem (z. B. ein Proxyserver, zwischengeschaltete Router/Gateways usw.).

Unabhängig davon, ob dies nur mit Daten oder nur mit größeren Datenmengen reproduziert wird, ist es wahrscheinlich, dass es irgendwo auf der Strecke zu einer Netzwerk-Zeitüberschreitung kommt. Tritt dies nur bei größeren Datenmengen auf, sollten sich Kunden mit dem Besitzer der Datenquelle in Verbindung setzen, um zu erfahren, ob ihre APIs Paging unterstützen, damit sie ihre Anforderungen in kleinere Teile aufteilen können. Andernfalls sollten alternative Methoden zum Extrahieren von Daten aus der API (die folgenden bewährten Methoden der 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“

In der folgenden Liste sind die unterstützten Suites mit Verschlüsselungsverfahren aufgeführt:

  • „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.

Hierbei handelt es sich um Verschlüsselungssuites, die der Server, mit dem Sie eine Verbindung herstellen, unterstützen muss, um eine Verbindung über Power Query Online oder Power BI herzustellen.

In Power Query Desktop (Power BI, Excel) kontrollieren wir Ihre Verschlüsselungssuites 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 Reihenfolge der TLS-Verschlüsselungssammlung finden Sie unter TLS (Transport Layer Security) verwalten.

Zertifikatswiderruf

Eine anstehende Version von Power BI Desktop verursacht EINEN FEHLER bei SSL-Verbindungen von Desktop, wenn zertifikate in der SSL-Kette den Zertifikatsperrstatus fehlen. Dies ist eine Änderung gegenüber dem aktuellen Status, bei dem der Widerruf nur dann zu Verbindungsfehlern geführt hat, 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: 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 die Abfrage-Editor schließt, während sich eine Abfrage im Aktualisierungsprozess 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 OAuth2-Aktualisierung des mandantenübergreifenden OAuth2 wird im Power BI-Dienst nicht unterstützt.

Wenn Sie mithilfe von OAuth2 eine Verbindung mit einer Datenquelle aus dem Power BI-Dienst herstellen möchten, muss sich die Datenquelle im selben Mandanten wie der Power BI-Dienst befinden. Derzeit werden mehrinstanzenfähige Verbindungsszenarien 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 Tokendienst 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 hat zu einem Stapelüberlauf geführt und kann nicht fortgesetzt werden.

Stapelüberlauffehler können durch einen Fehler in Ihrem M-Code verursacht werden. Die folgende Funktion erzeugt beispielsweise einen Stapelüberlauf, da sie sich wiederholt ohne eine Art von Endbedingung selbst aufruft. Eine Funktion, die sich selbst 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 (beispielsweise durch die Verwendung von Funktionen wie List.Transform, List.Generate oder List.Accumulate).

Expression.Error: Die Auswertung hat nicht mehr genügend Speicher und kann nicht fortgesetzt werden.

„Nicht genügend Arbeitsspeicher“-Fehler (oder OOMs) können dadurch verursacht werden, dass zu viele speicherintensive Vorgänge für sehr große Tabellen ausgeführt werden. Der folgende M-Code erzeugt beispielsweise einen OOM, da er versucht, eine Milliarde Zeilen auf einmal in den Speicher zu laden.

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

Um Fehler aufgrund eines unzureichenden Speichers zu beheben, optimieren Sie speicherintensive Vorgänge wie Sortierungen, Verknüpfungen, Gruppierungen und Unterscheidungen, indem Sie sicherstellen, dass sie in die Quelle übernommen werden, oder indem Sie sie nach Möglichkeit ganz entfernen. Sortierungen sind beispielsweise oft unnötig.

Dataflows

Dataflow-Aktualisierung abbrechen

Manchmal starten Sie eine Dataflow-Aktualisierung, aber nach dem Start wird Ihnen klar, dass Sie vor der Aktualisierung Ihrer Daten noch etwas ändern möchten. In diesem Fall müssen Sie warten, bis die Aktualisierung abgeschlossen ist. Das Beenden einer Aktualisierung mitten im Vorgang, während der Prozess bereits daran arbeitet, die Daten abzurufen 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 Dataflow-Aktualisierung hinzuzufügen.