DUPLICATES-Befehl
Erkennt, ob doppelte Werte oder vollständige doppelte Datensätze in einer Analytics-Tabelle existieren.
Syntax
DUPLICATES <ON> {Schlüsselfeld <D> <...n>|ALL} <OTHER Feld <...n>|OTHER ALL> <UNFORMATTED> <ADDGROUP> <PRESORT> <IF Test> <WHILE Test> <FIRST Bereich|NEXT Bereich> <APPEND> <OPEN> <TO {SCREEN|Tabellenname|Dateiname|PRINT}> <LOCAL> <HEADER Kopfzeilentext> <FOOTER Fußzeilentext> <PRESORT> <ISOLOCALE Gebietsschemacode>
Parameter
Name | Beschreibung |
---|---|
ON Schlüsselfeld D <...n> | ALL |
Die Schlüsselfelder oder der Ausdruck, die/der auf Duplikate getestet werden sollen.
|
OTHER Feld <...n> | OTHER ALL Optional |
Ein oder mehrere weitere Felder zum Einfügen in die Ausgabe.
|
UNFORMATTED Optional |
Unterdrückt Seitentitel und Seitenumbrüche, wenn die Ausgabe in eine Datei erfolgt. |
ADDGROUP Optional |
Nehmen Sie das Feld Gruppennummer ( GROUP_NUM) in die Ausgabetabelle auf. Das Feld Gruppennummer weist jeder eindeutigen Duplikatgruppe eine schrittweise erhöhte Zahl zu. Tipp Die Möglichkeit, Duplikatgruppen nach ihrer Zahl zu referenzieren, kann für die Analyse von Daten in der Ausgabetabelle hilfreich sein. |
PRESORT Optional |
Sortiert die Tabelle auf Basis des Schlüsselfelds vor der Ausführung des Befehls. Hinweis PRESORT kann nicht innerhalb des GROUP-Befehls verwendet werden. |
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. |
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. |
OPEN Optional |
Öffnet die durch den Befehl erstellte Tabelle, nachdem der Befehl ausgeführt wird. Nur gültig, wenn der Befehl eine Ausgabetabelle erstellt. |
TO SCREEN | Tabellenname | Dateiname | PRINT Optional |
Der Ort, an den die Ergebnisse des Befehls gesendet werden sollen:
|
LOCAL Optional |
Speichert die Ausgabedatei am selben Speicherort wie das Analytics-Projekt. Hinweis Nur anwendbar, wenn der Befehl für eine Servertabelle ausgeführt wird und die Ausgabedatei eine Analytics-Tabelle ist. Der LOCAL-Parameter muss unmittelbar auf den TO-Parameter folgen. |
HEADER Kopfzeilentext Optional |
Der Text, der am Anfang jeder Seite eines Berichts eingefügt wird. Kopfzeilentext muss als eine in Anführungszeichen gesetzte Zeichenfolge angegeben werden. Der Wert überschreibt die Analytics-Systemvariable HEADER. |
FOOTER Fußzeilentext Optional |
Der Text, der am Ende jeder Seite eines Berichts eingefügt wird. Fußzeilentext muss als eine in Anführungszeichen gesetzte Zeichenfolge angegeben werden. Der Wert überschreibt die Analytics-Systemvariable FOOTER. |
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. |
Analytics-Ausgabevariablen
Name | Enthält |
---|---|
GAPDUPn |
Die Gesamtanzahl an Lücken, Duplikaten oder Gruppen von Fuzzy-Duplikaten, die durch den Befehl identifiziert werden. |
Beispiele
Auf Duplikate in einem Feld testen
Das folgende Beispiel
- testet auf Duplikate im Feld Rechnungsnummer,
- gibt Datensätze mit doppelten Rechnungsnummern in eine neue Analytics-Tabelle aus.
DUPLICATES ON Rechnungsnummer OTHER Lieferantennummer Rechnungsdatum Rechnungsbetrag PRESORT TO "Doppelte_Rechnungen.FIL"
Auf Duplikate zweier oder mehrerer kombinierter Felder testen
Das folgende Beispiel
- testet auf doppelte Wertkombinationen in den Feldern Rechnungsnummer und Lieferantennummer,
- gibt Datensätze mit derselben Rechnungsnummer und derselben Lieferantennummer in eine neue Analytics-Tabelle aus.
Der Unterschied zwischen diesem und dem vorherigen Test besteht darin, dass eine identische Rechnungsnummer von zwei unterschiedlichen Lieferanten nicht als falsch-positives Ergebnis gemeldet wird.
DUPLICATES ON Rechnungsnummer Lieferantennummer OTHER Rechnungsdatum Rechnungsbetrag PRESORT TO "Doppelte_Rechnungen.FIL"
Auf doppelte Datensätze testen
Die folgenden Beispiele
- testen jedes Feld einer Vorratstabelle auf doppelte Werte,
- geben vollständig identische Datensätze in eine neue Analytics-Tabelle aus.
DUPLICATES ON ProdNum ProdKls Ort ProdBeschr ProdStatus Stückkosten Kostendatum Verkaufspreis Preisdatum PRESORT TO "Doppelte_Lagerposten.FIL"
Sie können die Syntax durch ALL vereinfachen:
DUPLICATES ON ALL PRESORT TO "Doppelte_Lagerposten.FIL"
Duplikate nach Gruppennummer in Ausgabetabelle filtern
Sie verwenden mehrere kombinierte Schlüsselfelder, um eine Verbindlichkeitentabelle nach Duplikaten zu testen:
- Lieferantennummer
- Rechnungsnummer
- Rechnungsdatum
- Rechnungsbetrag
Sie möchten die entstehende Ausgabetabelle mit Duplikaten filtern, sodass nur einige Duplikatgruppen zusätzlich verarbeitet werden müssen.
Es wäre aufwendig, einen Filter mit der Kombination der Schlüsselfelder zu erstellen. Beispiel:
SET FILTER TO ((Lieferantennr = "11475") AND (Rechnungsnr = "8752512") AND (Rechnungsdatum = `20191021`) AND (Rechnungsbetrag = 7125,80)) OR ((Lieferantennr = "12130") AND (Rechnungsnr = "589134") AND (Rechnungsdatum = `20191117`) AND (Rechnungsbetrag = 10531,71)) OR ((Lieferantennr = "13440") AND (Rechnungsnr = "5518912") AND (Rechnungsdatum = `20191015`) AND (Rechnungsbetrag = 11068,20))
Dasselbe Ergebnis erreichen Sie, indem Sie einen Filter auf Basis der Gruppennummer erstellen:
SET FILTER TO MATCH(GROUP_NUM; 3; 8; 11)
Bemerkungen
Hinweis
Weitere Informationen über die Funktion dieses Befehls finden Sie in Hilfe für Analytics.
Sortieren und Duplikate
Allgemein sollten Sie den Duplikatebefehl nur mit einem oder mehreren sortierten Schlüsselfeldern ausführen. Doppelte Werte in einem Schlüsselfeld werden nur gefunden, wenn sie unmittelbar aufeinanderfolgen.
Wenn Sie den Duplikatebefehl mit einem unsortierten Schlüsselfeld ausführen, werden nicht aufeinanderfolgende doppelte Werte als Duplikate nicht gemeldet. Wenn zwei oder mehrere Cluster mit demselben doppelten Wert existieren, werden sie als Duplikate gemeldet, jedoch in unterschiedlichen Gruppen.
In Abhängigkeit von Ihrem Analyseziel könnte es sinnvoll sein, den Duplikatebefehl für ein unsortiertes Schlüsselfeld auszuführen. Es könnte beispielsweise sein, dass Sie nur doppelte Werte finden möchten, die in der Quelltabelle unmittelbar nebeneinanderliegen, also nicht aufeinanderfolgende doppelte Werte ignorieren möchten.