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
attributesGibt die Variablenattribute an.
casOutGibt die Einstellungen für eine Ausgabetabelle an.
casOut2Gibt die casOut2-Ausgabetabelle an.
copyVarsGibt die Spalten an, die von der Eingabetabelle in die casOut-Ausgabetabelle kopiert werden sollen. Variablen, die im `inputs`-Parameter angegeben sind, werden automatisch kopiert.
cumFreq2NameGibt 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_.
cumFreqNameGibt 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_.
detailsGibt an, dass Meldungen wie die Anzahl der Gruppen und andere Details in das SAS-Log geschrieben werden.
dividerGibt das Zeichen an, das zur Trennung von Zeichenwerten der Eingabevariablen verwendet wird. Geben Sie ein Zeichen an, das in diesen Variablen nicht vorkommt.
freqOutGibt die Einstellungen für die Häufigkeitstabelle an.
frequency2NameGibt den Spaltennamen für die Gruppenhäufigkeiten in den Ausgabetabellen an. Der Standardspaltenname ist _Frequency2_.
frequencyNameGibt den Spaltennamen für die Gruppenhäufigkeiten in den Ausgabetabellen an. Der Standardspaltenname ist _Frequency_.
generatedColumnsGibt die generierten Spalten an, die in die Ausgabetabellen aufgenommen werden sollen.
groupID2NameGibt den Spaltennamen für die Gruppen-IDs in den Ausgabetabellen an. Der Standardspaltenname ist _Groupid2_.
groupIDBothNameGibt den Spaltennamen für die Gruppen-IDs in den Ausgabetabellen an. Der Standardspaltenname ist _GroupIDBoth_.
groupIDNameGibt den Spaltennamen für die Gruppen-IDs in den Ausgabetabellen an. Der Standardspaltenname ist _GroupID_.
includeDuplicatesGibt an, ob eindeutige Gruppen oder alle Datensätze in die Ausgabetabellen aufgenommen werden sollen. Sie können einen, zwei oder drei der Werte angeben.
includeMissingGibt an, dass Gruppen mit einem fehlenden Wert in einer groupBy-Variable in die casOut-Tabelle aufgenommen werden.
inputRegExGibt eine Liste von regulären Ausdrücken an, einen für jede Variable in der `inputs`-Liste.
inputsGibt die Eingabevariablen für die Analyse an.
journalTraceWenn auf True gesetzt, schreibt die Aktion detaillierte Tracing-Informationen in das SAS-Log.
keyModifyGibt 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.
maxFrequencyGibt an, dass die Ausgabetabelle Datensätze enthält, deren _Frequency_ kleiner oder gleich dieser Zahl ist.
maxPositionGibt an, dass die Ausgabetabelle Datensätze enthält, deren _Position_ kleiner oder gleich dieser Zahl ist.
minFrequencyGibt an, dass die Ausgabetabelle Datensätze enthält, deren _Frequency_ größer oder gleich dieser Zahl ist.
minGroupsLLGibt die Mindestanzahl von Gruppen an, die für die Verwendung von parallelen Algorithmen nach dem Lesen erforderlich sind.
minPositionGibt an, dass die Ausgabetabelle Datensätze enthält, deren _Position_ größer oder gleich dieser Zahl ist.
noVarsWenn 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.
noVars2Wenn 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.
outputNamedTablesWenn 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.
positionGibt 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.
position2NameGibt den Spaltennamen für die Position eines Datensatzes innerhalb seiner Gruppe in den Ausgabetabellen an. Der Standardspaltenname ist _Position2_.
positionNameGibt den Spaltennamen für die Position des Datensatzes innerhalb seiner Gruppe in den Ausgabetabellen an. Der Standardspaltenname ist _Position_.
sparseWenn 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.
tableGibt die Basistabelle an, die verglichen werden soll.
table2Gibt 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.
table2AttributesGibt Attribute für die Spalten an, die im `table2Inputs`-Parameter angegeben sind.
table2CopyVarsGibt die Spalten aus der Vergleichstabelle an, die in die Vergleichstabellenausgabe kopiert werden sollen. Die im `table2Inputs`-Parameter angegebenen Variablen werden automatisch kopiert.
table2InputsGibt 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...