FUZZYJOIN-Befehl
Verwenden Sie die Fuzzy-Übereinstimmung, um Felder aus zwei Analytics-Tabellen in einer neuen einzelnen Analytics-Tabelle zu vereinen.
Hinweis
Um nahezu identische Werte (Fuzzy-Duplikate) in einem einzelnen Zeichenfeld zu erkennen, lesen Sie FUZZYDUP-Befehl.
Zahlreiche Optionen für die Zusammenführung von Tabellen mit exakt übereinstimmenden Schlüsselfeldwerten finden Sie in JOIN-Befehl.
Syntax
FUZZYJOIN {DICE PERCENT Prozentsatz NGRAM N-Gramm-Länge|LEVDISTANCE DISTANCE Wert} PKEY primäres_Schlüsselfeld SKEY sekundäres_Schlüsselfeld {FIELDS Primärfelder|FIELDS ALL} <WITH Sekundärfelder|WITH ALL> <IF Test> <OPEN> <FIRSTMATCH> TO Tabellenname <WHILE Test> <FIRST Bereich|NEXT Bereich> <APPEND>
Hinweis
Sie können den Befehl FUZZYJOIN nicht lokal für eine Servertabelle ausführen.
Sie müssen den Befehlsnamen FUZZYJOIN vollständig ausschreiben. Eine Abkürzung ist nicht möglich.
Parameter
Name | Beschreibung |
---|---|
DICE PERCENT Prozentsatz NGRAM N-Gramm-Länge | LEVDISTANCE DISTANCE Wert |
Der zu verwendende Algorithmus für die Fuzzy-Übereinstimmung. DICE Den Algorithmus „Dice-Koeffizient“ verwenden
LEVDISTANCE Den Algorithmus „Levenshtein-Distanz“ verwenden
|
PKEY Primärschlüsselfelder |
Das Zeichenschlüsselfeld oder der Ausdruck in der Primärtabelle. Sie können nur ein Primärschlüsselfeld festlegen. |
SKEY Sekundärschlüsselfeld |
Das Zeichenschlüsselfeld oder der Ausdruck in der Sekundärtabelle. Sie können nur ein Sekundärschlüsselfeld festlegen. |
FIELDS Primärfelder | FIELDS ALL |
Die in die zusammengeführte Ausgabedatei einzuschließenden Felder oder Ausdrücke aus der Primärtabelle.
Hinweis Sie müssen das Primärschlüsselfeld explizit festlegen, wenn es in der zusammengeführten Tabelle enthalten sein soll. Wenn Sie ALL angeben, wird es auch eingeschlossen. |
WITH Sekundärfelder | WITH ALL Optional |
Die in die zusammengeführte Ausgabedatei einzuschließenden Felder oder Ausdrücke aus der Sekundärtabelle.
Hinweis Sie müssen das Sekundärschlüsselfeld explizit festlegen, wenn es in der zusammengeführten Tabelle enthalten sein soll. Wenn Sie ALL angeben, wird es auch eingeschlossen. |
IF Test Optional |
Ein bedingter Ausdruck, der wahr sein muss, damit ein Datensatz verarbeitet wird. Der Befehl wird nur für Datensätze ausgeführt, welche die Bedingung erfüllen. Hinweis Der IF-Parameter wird nur für Datensätze ausgewertet, die nach Anwendung von Bereichsparametern (WHILE, FIRST, NEXT) in einer Tabelle übrig sind. Hinweis Die IF-Bedingung kann die Primärtabelle, die Sekundärtabelle oder beide referenzieren. |
OPEN Optional |
Öffnet die durch den Befehl erstellte Tabelle, nachdem der Befehl ausgeführt wird. Nur gültig, wenn der Befehl eine Ausgabetabelle erstellt. |
FIRSTMATCH Optional |
Gibt an, dass jeder Primärschlüsselwert mit lediglich dem ersten Vorkommen eines Sekundärschlüsselwerts zusammengeführt wird. Falls das erste Vorkommen eine genaue Übereinstimmung ist, werden alle folgenden Fuzzy-Übereinstimmungen für den Primärschlüsselwert nicht in die zusammengeführte Ausgabetabelle aufgenommen. Wenn Sie FIRSTMATCH nicht angeben, besteht das Standardverhalten von FUZZYJOIN darin, jeden Primärschlüsselwert mit allen Vorkommen von übereinstimmenden Sekundärschlüsseln zusammenzuführen. FIRSTMATCH ist hilfreich, wenn Sie nur wissen möchten, ob es in den beiden Tabellen überhaupt Übereinstimmungen (ob genaue oder Fuzzy-Übereinstimmungen) gibt, und Sie die Verarbeitungszeit zur Erkennung aller Übereinstimmungen senken möchten. Sie können FIRSTMATCH auch verwenden, wenn Sie sicher sind, dass es höchstens eine Übereinstimmung in der Sekundärtabelle für jeden Primärschlüsselwert gibt. Hinweis FIRSTMATCH ist nur als ein ACLScript-Parameter verfügbar. In der Analytics-Benutzeroberfläche ist die Option nicht verfügbar. |
TO Tabellenname |
Der Ort, an den die Ergebnisse des Befehls gesendet werden sollen:
|
WHILE Test Optional |
Ein bedingter Ausdruck, der wahr sein muss, damit ein Datensatz verarbeitet wird. Der Befehl wird ausgeführt, bis die Bedingung falsch ist oder das Tabellenende erreicht wurde. Hinweis Wenn Sie WHILE zusammen mit FIRST oder NEXT verwenden, endet die Datensatzverarbeitung, sobald eine Grenze erreicht wird. |
FIRST Bereich | NEXT Bereich Optional |
Die Anzahl der zu verarbeitenden Datensätze:
Verwenden Sie Bereich, um die Anzahl der zu verarbeitenden Datensätze anzugeben. Wenn Sie FIRST und NEXT nicht angeben, werden standardmäßig alle Datensätze verarbeitet. |
APPEND Optional |
Hängt die Befehlsausgabe an das Ende einer vorhandenen Datei an, statt die Datei zu überschreiben. Hinweis Vergewissern Sie sich, dass die Struktur der Befehlsausgabe und der bestehenden Datei identisch sind:
Analytics hängt eine Ausgabe an eine bestehende Datei beliebiger Struktur an. Falls die Struktur der Ausgabe und der bestehenden Datei nicht übereinstimmen, kann die Datenintegrität verletzt sein, es können Daten fehlen oder falsch sein. |
ISOLOCALE Gebietsschema_Code Optional |
Hinweis Gilt nur für die Unicode-Edition von Analytics. Das Systemgebietsschema im Format Sprache_Land. Für kanadisches Französisch geben Sie beispielsweise fr_ca ein. Verwenden Sie die folgenden Codes:
Wenn Sie ISOLOCALE verwenden, wird das Standard-Systemgebietsschema nicht verwendet. |
Beispiele
Fuzzy-Übereinstimmung zur Zusammenführung von zwei Tabellen verwenden, um Mitarbeiter zu finden, die auch Lieferanten sein könnten
Im folgenden Beispiel werden die Tabellen „Mitarbeiterstamm“ und „Lieferant“ mit Hilfe des gemeinsamen Schlüsselfelds der Anschrift (Felder „Adresse“ und „Lieferantenstraße“) zusammengeführt.
Der FUZZYJOIN-Befehl erstellt eine neue Tabelle, die entweder aus genauen oder Fuzzy-Übereinstimmungen von Primär- und Sekundärdatensätzen besteht. Das Ergebnis ist eine Liste der Mitarbeiter und Lieferanten, die entweder identische oder ähnliche Adressen haben.
FUZZYJOIN mit dem Algorithmus „Dice-Koeffizient“
OPEN Mitarbeiterstamm PRIMARY OPEN Lieferant SECONDARY FUZZYJOIN DICE PERCENT 0,8000 NGRAM 2 PKEY Adresse SKEY Lieferantenstraße FIELDS Mitarbeiternummer Vorname Nachname Adresse WITH Lieferantennummer Lieferantenname Lieferantenstraße OPEN TO "Mitarbeiter_Lieferanten_Übereinstimmungen"
FUZZYJOIN mit dem Algorithmus „Levenshtein-Distanz“
OPEN Mitarbeiterstamm PRIMARY OPEN Lieferant SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Adresse SKEY Lieferantenstraße FIELDS Mitarbeiternummer Vorname Nachname Adresse WITH Lieferantennummer Lieferantenname Lieferantenstraße OPEN TO "Mitarbeiter_Lieferanten_Übereinstimmungen"
Alle Felder einschließen
Diese Version des FUZZYJOIN-Befehls schließt alle Felder der Primär- und Sekundärtabellen in die zusammengeführte Ausgabetabelle ein.
OPEN Mitarbeiterstamm PRIMARY OPEN Lieferant SECONDARY FUZZYJOIN LEVDISTANCE DISTANCE 5 PKEY Adresse SKEY Lieferantenstraße FIELDS ALL WITH ALL OPEN TO "Mitarbeiter_Lieferanten_Übereinstimmungen"
Bemerkungen
Hinweis
Weitere Informationen über die Funktion dieses Befehls finden Sie in Hilfe für Analytics.
Beachtung der Groß- und Kleinschreibung
Der FUZZYJOIN-Befehl unterscheidet nicht zwischen Groß- und Kleinschreibung. Dabei spielt es keine Rolle, welchen Fuzzy-Übereinstimmungs-Algorithmus Sie verwenden. „SMITH“ entspricht also „smith“.
Führende und nachgestellte Leerzeichen
Der FUZZYJOIN-Befehl schneidet führende und nachgestellte Leerzeichen in Feldern automatisch ab. Dabei spielt es keine Rolle, welchen Fuzzy-Übereinstimmungs-Algorithmus Sie verwenden. Die TRIM( )- oder ALLTRIM( )-Funktionen müssen also nicht verwendet werden, wenn die Primär- und Sekundärschlüsselfelder angegeben werden.