Wie der Fuzzy-Abgleich in Power Query funktioniert
Power Query-Funktionen wie Fuzzy Merge, cluster values und Fuzzy grouping verwenden die gleichen Mechanismen wie Fuzzy Matching.
In diesem Artikel werden viele Szenarien vorgestellt, die zeigen, wie man die Möglichkeiten des Fuzzy-Matching nutzen kann, mit dem Ziel, „Fuzzy“ deutlich zu machen.
Das beste Szenario für die Anwendung des Fuzzy-Match-Algorithmus ist, wenn alle Textstrings in einer Spalte nur die Strings enthalten, die verglichen werden müssen, und keine zusätzlichen Komponenten. Beispielsweise ergibt ein Vergleich von Apples
mit 4ppl3s
höhere Ähnlichkeitswerte als ein Vergleich von Apples
mit My favorite fruit, by far, is Apples. I simply love them!
.
Da das Wort Apples
in der zweiten Zeichenfolge nur einen kleinen Teil der gesamten Textzeichenfolge ausmacht, führt dieser Vergleich zu einem niedrigeren Ähnlichkeitswert.
Der folgende Datensatz besteht beispielsweise aus Antworten einer Umfrage, die nur eine Frage enthielt: „Was ist Ihr Lieblingsobst?“
Obst |
---|
Blaubeeren |
Blaubeeren sind einfach das Beste |
Erdbeeren |
Erdbeeren = <3 |
Äpfel |
sples |
4ppl3s |
Bananen |
lieblingsobst sind Bananen |
Banas |
Mein Lieblingsobst sind mit Abstand Äpfel. Ich liebe sie einfach! |
Die Umfrage enthielt ein einziges Textfeld zur Eingabe des Wertes und keine Validierung.
Jetzt müssen Sie die Werte in Gruppen zusammenfassen. Laden Sie dazu die vorherige Fruchttabelle in Power Query, wählen Sie die Spalte aus, und wählen Sie dann die Option Clusterwerte auf der Registerkarte Spalte hinzufügen im Menüband.
Das Dialogfeld Clusterwerte wird angezeigt, in dem Sie den Namen der neuen Spalte angeben können. Benennen Sie diese neue Spalte Cluster und wählen Sie OK.
Standardmäßig verwendet Power Query einen Ähnlichkeitsschwellenwert von 0,8 (oder 80 %). Der Mindestwert von 0,00 führt dazu, dass alle Werte mit einer beliebigen Ähnlichkeitsstufe einander zugeordnet werden, während der Maximalwert von 1,00 nur exakte Übereinstimmungen zulässt. Beachten Sie, dass Unterschiede in der Groß- und Kleinschreibung, Wortreihenfolge und Interpunktion bei ungenauen „exakten Übereinstimmungen“ ignoriert werden können. Das Ergebnis des vorherigen Vorgangs liefert die folgende Tabelle mit einer neuen Spalte Cluster.
Das Clustering wurde zwar durchgeführt, aber es liefert nicht für alle Zeilen die erwarteten Ergebnisse. Zeile Nummer zwei (2) hat immer noch den Wert Blue berries are simply the best
, sollte aber zu Blueberries
geclustert werden, und etwas Ähnliches passiert mit den Textstrings Strawberries = <3
, fav fruit is bananas
und My favorite fruit, by far, is Apples. I simply love them!
.
Um festzustellen, was die Ursache für die Clusterbildung ist, doppelklicken Sie auf Clusterwerte im Bereich Angewandte Schritte, um das Dialogfeld Clusterwerte aufzurufen. Erweitern Sie in diesem Dialogfeld Fuzzy-Cluster-Optionen. Aktivieren Sie die Option Ähnlichkeitswerte anzeigen, und wählen Sie dann OK.
Wenn Sie die Option Show similarity scores aktivieren, wird eine neue Spalte in Ihrer Tabelle erstellt. In dieser Spalte wird der genaue Ähnlichkeitswert zwischen dem definierten Cluster und dem Originalwert angezeigt.
Bei näherer Betrachtung konnte Power Query keine anderen Werte im Ähnlichkeitsschwellenwert für die Textstrings Blue berries are simply the best
,Strawberries = <3
, fav fruit is bananas
und My favorite fruit, by far, is Apples. I simply love them!
finden.
Kehren Sie ein weiteres Mal zum Dialogfeld Clusterwerte zurück, indem Sie auf Clusterwerte im Bereich Angewandte Schritte doppelklicken. Ändern Sie den Ähnlichkeitsschwellenwert von 0.8 auf 0.6, und wählen Sie dann OK.
Diese Änderung bringt Sie näher an das gewünschte Ergebnis heran, mit Ausnahme der Textzeichenfolge My favorite fruit, by far, is Apples. I simply love them!
. Als Sie den Wert Ähnlichkeitsschwelle von 0.8 auf 0.6 geändert haben, konnte Power Query nun die Werte mit einer Ähnlichkeitsbewertung verwenden, die von 0.6 bis zu 1 reicht.
Hinweis
Power Query verwendet immer den Wert, der dem Schwellenwert am nächsten liegt, um die Cluster zu definieren. Der Schwellenwert definiert die Untergrenze der Ähnlichkeitsbewertung, die akzeptabel ist, um den Wert einem Cluster zuzuordnen.
Sie können es erneut versuchen, indem Sie die Ähnlichkeitsbewertung von 0,6 auf eine niedrigere Zahl ändern, bis Sie die gewünschten Ergebnisse erhalten. In diesem Fall ändern Sie den Ähnlichkeitswert in 0.5. Diese Änderung führt genau zu dem Ergebnis, das Sie erwarten, da die Textzeichenfolge My favorite fruit, by far, is Apples. I simply love them!
nun dem Cluster Apples
zugeordnet ist.
Hinweis
Derzeit bietet nur die Funktion Clusterwerte in Power Query Online eine neue Spalte mit dem Ähnlichkeitsscore.
Die Transformationstabelle hilft Ihnen, Werte aus Ihrer Spalte auf neue Werte abzubilden, bevor Sie den Fuzzy-Matching-Algorithmus ausführen.
Einige Beispiele, wie die Transformationstabelle verwendet werden kann:
- Transformationstabelle in Clusterwerte
- Transformationstabelle in Fuzzy-Merge-Abfragen
- Transformationstabelle in Gruppe nach
Wichtig
Bei Verwendung der Transformationstabelle beträgt der maximale Ähnlichkeitswert für die Werte aus der Transformationstabelle 0,95. Dieser absichtliche Abzug von 0,05 dient der Unterscheidung, dass der ursprüngliche Wert einer solchen Spalte nicht mit den Werten übereinstimmt, mit denen er verglichen wurde, da eine Transformation stattgefunden hat.
Für Szenarien, in denen Sie zuerst Ihre Werte zuordnen und dann den Fuzzy-Abgleich ohne den 0,05-Malus durchführen möchten, empfehlen wir, dass Sie die Werte aus Ihrer Spalte ersetzen und dann den Fuzzy-Abgleich durchführen.