simple

compare

Beschreibung

Vergleicht zwei Tabellen, indem der Index und die Häufigkeit jeder Gruppe, die kumulative Häufigkeit und der Index jedes Datensatzes innerhalb seiner Gruppe berechnet werden.

simple.compare { attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}, casOut={casouttable}, casOut2={casouttable}, copyVars={"variable-name-1" <, "variable-name-2", ...>}, cumFreq2Name="variable-name", cumFreqName="variable-name", details=TRUE | FALSE, divider="string", freqOut={casouttable}, frequency2Name="variable-name", frequencyName="variable-name", generatedColumns={"ALL", "CUMFREQ", "F", "FREQUENCY", "GROUPID", "NONE", "POSITION"}, groupID2Name="variable-name", groupIDBothName="variable-name", groupIDName="variable-name", includeDuplicates={"CASOUT", "CASOUT2", "FREQOUT"}, includeMissing=TRUE | FALSE, inputRegEx={"string-1" <, "string-2", ...>}, inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>}, journalTrace=TRUE | FALSE, keyModify={"string-1" <, "string-2", ...>}, maxFrequency=64-bit-integer, maxPosition=64-bit-integer, minFrequency=64-bit-integer, minGroupsLL=64-bit-integer, minPosition=64-bit-integer, noVars=TRUE | FALSE, noVars2=TRUE | FALSE, outputNamedTables=TRUE | FALSE, position=64-bit-integer, position2Name="variable-name", positionName="variable-name", sparse=TRUE | FALSE, table={castable}, table2={castable}, table2Attributes={{casinvardesc-1} <, {casinvardesc-2}, ...>}, table2CopyVars={"variable-name-1" <, "variable-name-2", ...>}, table2Inputs={{casinvardesc-1} <, {casinvardesc-2}, ...>} };
Einstellungen
ParameterBeschreibung
attributes Gibt die Variablenattribute an.
casOut Gibt die Einstellungen für eine Ausgabetabelle an.
casOut2 Gibt die casOut2-Ausgabetabelle an.
copyVars Gibt die Spalten an, die von der Eingabetabelle in die casOut-Ausgabetabelle kopiert werden sollen. Variablen, die im `inputs`-Parameter angegeben sind, werden automatisch kopiert.
cumFreq2Name Gibt den Spaltennamen für die kumulative Häufigkeit in den Ausgabetabellen an. Die Spalte zeigt die kumulative Häufigkeit der Gruppe, zu der der Datensatz gehört, in Bezug auf die Vergleichstabelle. Die Vergleichstabelle wird im `table2`-Parameter angegeben. Der Standardspaltenname ist _CumFreq2_.
cumFreqName Gibt den Spaltennamen für die kumulative Häufigkeit in den Ausgabetabellen an. Die Spalte zeigt die kumulative Häufigkeit der Gruppe, zu der der Datensatz gehört, in Bezug auf die Eingabetabelle (`table`). Der Standardspaltenname ist _CumFreq_.
details Gibt an, dass Meldungen wie die Anzahl der Gruppen und andere Details in das SAS-Log geschrieben werden.
divider Gibt das Zeichen an, das zur Trennung von Zeichenwerten der Eingabevariablen verwendet wird. Geben Sie ein Zeichen an, das in diesen Variablen nicht vorkommt.
freqOut Gibt die Einstellungen für die Häufigkeitstabelle an.
frequency2Name Gibt den Spaltennamen für die Gruppenhäufigkeiten in den Ausgabetabellen an. Der Standardspaltenname ist _Frequency2_.
frequencyName Gibt den Spaltennamen für die Gruppenhäufigkeiten in den Ausgabetabellen an. Der Standardspaltenname ist _Frequency_.
generatedColumns Gibt die generierten Spalten an, die in die Ausgabetabellen aufgenommen werden sollen.
groupID2Name Gibt den Spaltennamen für die Gruppen-IDs in den Ausgabetabellen an. Der Standardspaltenname ist _Groupid2_.
groupIDBothName Gibt den Spaltennamen für die Gruppen-IDs in den Ausgabetabellen an. Der Standardspaltenname ist _GroupIDBoth_.
groupIDName Gibt den Spaltennamen für die Gruppen-IDs in den Ausgabetabellen an. Der Standardspaltenname ist _GroupID_.
includeDuplicates Gibt an, ob eindeutige Gruppen oder alle Datensätze in die Ausgabetabellen aufgenommen werden sollen. Sie können einen, zwei oder drei der Werte angeben.
includeMissing Gibt an, dass Gruppen mit einem fehlenden Wert in einer groupBy-Variable in die casOut-Tabelle aufgenommen werden.
inputRegEx Gibt eine Liste von regulären Ausdrücken an, einen für jede Variable in der `inputs`-Liste.
inputs Gibt die Eingabevariablen für die Analyse an.
journalTrace Wenn auf True gesetzt, schreibt die Aktion detaillierte Tracing-Informationen in das SAS-Log.
keyModify Gibt an, ob Zeichenwerte in Eingabevariablen linksbündig (L), rechtsbündig (R), in Großbuchstaben umgewandelt (U) und aufeinanderfolgende Leerzeichen auf ein einziges Leerzeichen reduziert (C) werden sollen.
maxFrequency Gibt an, dass die Ausgabetabelle Datensätze enthält, deren _Frequency_ kleiner oder gleich dieser Zahl ist.
maxPosition Gibt an, dass die Ausgabetabelle Datensätze enthält, deren _Position_ kleiner oder gleich dieser Zahl ist.
minFrequency Gibt an, dass die Ausgabetabelle Datensätze enthält, deren _Frequency_ größer oder gleich dieser Zahl ist.
minGroupsLL Gibt die Mindestanzahl von Gruppen an, die für die Verwendung von parallelen Algorithmen nach dem Lesen erforderlich sind.
minPosition Gibt an, dass die Ausgabetabelle Datensätze enthält, deren _Position_ größer oder gleich dieser Zahl ist.
noVars Wenn auf True gesetzt, werden keine Variablen automatisch von der Eingabetabelle in die Ausgabetabelle kopiert. Standardmäßig werden alle Spalten kopiert, die nicht in den Parametern `inputs`, `groupBy`, `weight` oder `frequency` angegeben sind.
noVars2 Wenn auf True gesetzt, werden keine Variablen automatisch von der Vergleichstabelle in die Vergleichsausgabetabelle kopiert. Standardmäßig werden alle Spalten kopiert, die nicht im `table2Inputs`-Parameter angegeben sind.
outputNamedTables Wenn auf True gesetzt, werden die Tabellen `casOut`, `casOut2` und `frequency` nur erstellt, wenn der Parameter für die Ausgabetabelle angegeben ist. Standardmäßig werden alle drei Ausgabetabellen erstellt. Wenn keine Tabellennamen angegeben werden, generiert der Server automatisch Namen.
position Gibt an, die Datensätze für die Ausgabetabelle zu filtern. Nur die Datensätze, die dem angegebenen Wert in der Spalte _Position_ entsprechen, werden in die Ausgabetabelle aufgenommen.
position2Name Gibt den Spaltennamen für die Position eines Datensatzes innerhalb seiner Gruppe in den Ausgabetabellen an. Der Standardspaltenname ist _Position2_.
positionName Gibt den Spaltennamen für die Position des Datensatzes innerhalb seiner Gruppe in den Ausgabetabellen an. Der Standardspaltenname ist _Position_.
sparse Wenn auf True gesetzt und die Aktion auf einem verteilten Server ausgeführt wird, liest jeder Thread Daten, die nur zu wenigen Gruppen gehören. Standardmäßig liest jeder Thread Datensätze aus vielen oder allen Gruppen. Geben Sie True an, um die Leistung zu verbessern, wenn viele Threads auf allen Workern, viele Gruppen oder beides vorhanden sind. In einigen Fällen wird `sparse` automatisch aktiviert.
table Gibt die Basistabelle an, die verglichen werden soll.
table2 Gibt die Vergleichstabelle an. Die Datensätze und Gruppen in dieser Tabelle werden mit den Datensätzen und Gruppen in der Basistabelle verglichen. Die Basistabelle wird im `table`-Parameter angegeben.
table2Attributes Gibt Attribute für die Spalten an, die im `table2Inputs`-Parameter angegeben sind.
table2CopyVars Gibt die Spalten aus der Vergleichstabelle an, die in die Vergleichstabellenausgabe kopiert werden sollen. Die im `table2Inputs`-Parameter angegebenen Variablen werden automatisch kopiert.
table2Inputs Gibt die Spalten aus der Vergleichstabelle an, die in die Analyse einbezogen werden sollen. Die Vergleichstabelle wird im `table2`-Parameter angegeben.
Erstellung von Beispieldaten

Dieser Code erstellt zwei Tabellen, `table1` und `table2`, in der `casuser` Caslib. Beide Tabellen haben eine `id`-Spalte und werden verwendet, um die `compare`-Aktion zu demonstrieren.

Kopiert!
1DATA casuser.table1;
2 DO id = 1 to 5;
3 OUTPUT;
4 END;
5RUN;
6 
7DATA casuser.table2;
8 DO id = 3 to 7;
9 OUTPUT;
10 END;
11RUN;

Beispiele

Dieses Beispiel vergleicht die Gruppen in `table1` und `table2` basierend auf der `id`-Spalte. Es werden drei Ausgabetabellen erstellt: `compare_casOut` enthält Gruppen, die nur in `table1` vorkommen, `compare_casOut2` enthält Gruppen, die nur in `table2` vorkommen, und `compare_freqOut` enthält Gruppen, die in beiden Tabellen mit unterschiedlichen Häufigkeiten vorkommen.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 SIMPLE.compare /
3 TABLE={name='table1'},
4 table2={name='table2'},
5 inputs={'id'},
6 casOut={name='compare_casOut', replace=true},
7 casOut2={name='compare_casOut2', replace=true},
8 freqOut={name='compare_freqOut', replace=true};
9RUN;
Ergebnis :
Die Aktion erzeugt drei Ausgabetabellen, die die Unterschiede zwischen den beiden Eingangstabellen basierend auf der 'id'-Spalte detailliert beschreiben.

FAQ

Was ist der Hauptzweck der `compare`-Aktion im Aktionssatz `simple`?
Welchen Zweck hat der Parameter `table` in der `compare`-Aktion?
Was gibt der Parameter `table2` an?
Wie kann ich die in den Ausgabetabellen enthaltenen Spalten steuern?
Was bewirkt der Parameter `includeDuplicates`?
Wie kann ich die Ausgabetabellen benennen und speichern?
Ist es möglich, fehlende Werte in den Gruppierungsvariablen in die Analyse einzubeziehen?
Wie kann ich die resultierenden Datensätze nach Häufigkeit filtern?

Zugehörige Szenarien

Anwendungsfall
Bestandsabgleich Lager vs. Online-Shop (Standard)

Ein Einzelhandelsunternehmen muss regelmäßig die Bestandsdaten aus dem physischen Lagerverwaltungssystem (ERP) mit den Daten des Online-Shops synchronisieren. Ziel ist es, Diskr...

Anwendungsfall
Performance-Vergleich von Transaktionsprotokollen (Volumen)

Eine Bank verarbeitet Millionen von Transaktionen pro Nacht. Um die Datenintegrität zwischen dem Haupt-Transaktionsserver und dem Backup-System sicherzustellen, müssen die Proto...

Anwendungsfall
Datenmigration mit fehlenden Werten und Duplikaten (Cas Limite)

Bei der Migration von Kundendaten aus einem Altsystem (Legacy) in ein neues CRM-System treten häufig Datenqualitätsprobleme auf. Es gibt Kunden ohne ID (Nullwerte) und Duplikate...