Veröffentlicht am :
Datenmanipulation CREATION_INTERNE

Demonstration zum Hinzufügen von SAS-Datensätzen

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Programm beginnt mit der Erstellung mehrerer Datensätze (advisees, advisees_2012, advisees_2013, advisees_2014) unter Verwendung von DATA-Schritten mit DATALINES-Anweisungen zur Generierung interner Daten. Anschließend wird PROC APPEND verwendet, um diese Datensätze auf verschiedene Weisen zusammenzuführen. Das erste Anhängen ist einfach, mit identischen Variablenstrukturen. Das zweite Anhängen führt einen Datensatz (advisees_2013) ohne die Variable 'gender' ein und veranschaulicht, wie PROC APPEND mit fehlenden Variablen im hinzuzufügenden Datensatz umgeht (indem sie in den neuen Beobachtungen mit fehlenden Werten gefüllt werden). Die letzten Beispiele zeigen das Hinzufügen eines Datensatzes (advisees_2014), der eine zusätzliche Variable ('program') enthält, die nicht im Basisdatensatz vorhanden ist. Ein erster Versuch ohne die Option FORCE führt dazu, dass diese neue Variable ignoriert wird. Der zweite Versuch, bei dem die Option FORCE verwendet wird, fügt die neue Variable zum Basisdatensatz hinzu und füllt sie mit fehlenden Werten für die vorhandenen Beobachtungen auf, und fügt dann die neuen Beobachtungen mit ihren Werten für diese Variable hinzu. PROC PRINT-Anweisungen sind enthalten, um die Ergebnisse in jedem Schritt zu visualisieren.
Datenanalyse

Type : CREATION_INTERNE


Alle in diesem Skript verwendeten Daten werden intern über DATA STEP-Blöcke und DATALINES-Anweisungen erstellt. Es sind keine externen Datensätze oder SASHELP erforderlich.

1 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP-Block erstellt einen Datensatz namens 'advisees' mit drei Variablen: 'first' (Vorname, Zeichen), 'gender' (Geschlecht, Zeichen) und 'matric' (Immatrikulationsjahr, numerisch). Er wird mit drei Beobachtungen initialisiert.
Kopiert!
1DATA advisees;
2 INPUT first $ gender $ matric;
3 DATALINES;
4 Angela F 2010
5 Dawn F 2011
6 Aaron M 2011
7RUN;
2 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP-Block erstellt einen Datensatz namens 'advisees_2012' mit der gleichen Variablenstruktur wie 'advisees'. Er enthält drei Beobachtungen für das Jahr 2012.
Kopiert!
1DATA advisees_2012;
2 INPUT first $ gender $ matric;
3 DATALINES;
4 Sruthi F 2012
5 Lindsey F 2012
6 Natalie F 2012
7RUN;
3 Codeblock
PROC APPEND
Erklärung :
Diese PROC APPEND-Prozedur fügt alle Beobachtungen des Datensatzes 'advisees_2012' dem Datensatz 'advisees' hinzu. Da die Datensätze identische Variablenstrukturen haben, verläuft der Vorgang problemlos.
Kopiert!
1 
2PROC APPEND base = advisees
3DATA = advisees_2012;
4RUN;
5 
4 Codeblock
PROC PRINT
Erklärung :
Diese PROC PRINT-Prozedur zeigt den aktuellen Inhalt des Datensatzes 'advisees' nach dem ersten Hinzufügevorgang, einschließlich der ursprünglichen Beobachtungen und der von 'advisees_2012'.
Kopiert!
1PROC PRINT DATA = advisees;
2RUN;
5 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP-Block erstellt einen Datensatz namens 'advisees_2013' mit nur den Variablen 'first' und 'matric'. Die Variable 'gender' fehlt im Vergleich zum Datensatz 'advisees'.
Kopiert!
1DATA advisees_2013;
2 INPUT first $ matric;
3 DATALINES;
4 Sara 2013
5 Dennis 2013
6RUN;
6 Codeblock
PROC APPEND
Erklärung :
Diese PROC APPEND-Prozedur versucht, 'advisees_2013' zu 'advisees' hinzuzufügen. Da 'advisees_2013' die Variable 'gender', die in 'advisees' vorhanden ist, nicht enthält, haben die neuen Beobachtungen, die aus 'advisees_2013' hinzugefügt werden, einen fehlenden Wert für die Variable 'gender'.
Kopiert!
1 
2PROC APPEND base = advisees
3DATA = advisees_2013;
4RUN;
5 
7 Codeblock
PROC PRINT
Erklärung :
Diese PROC PRINT-Prozedur zeigt den Inhalt des Datensatzes 'advisees' nach dem Hinzufügen von 'advisees_2013', wobei die fehlenden Werte für 'gender' in den neu hinzugefügten Beobachtungen hervorgehoben werden.
Kopiert!
1PROC PRINT DATA = advisees;
2RUN;
8 Codeblock
DATA STEP Data
Erklärung :
Dieser DATA STEP-Block erstellt einen Datensatz namens 'advisees_2014', der eine neue Variable 'program' enthält, die nicht im Basisdatensatz 'advisees' vorhanden ist.
Kopiert!
1DATA advisees_2014;
2 INPUT first $ matric program $;
3 DATALINES;
4 Nathan 2014 MPH
5 Gloria 2014 PhD
6RUN;
9 Codeblock
PROC APPEND
Erklärung :
Diese PROC APPEND-Prozedur versucht, 'advisees_2014' zu 'advisees' hinzuzufügen. Ohne die Option FORCE wird die Variable 'program' aus 'advisees_2014' ignoriert und nicht zum Datensatz 'advisees' hinzugefügt, da sie im Basisdatensatz nicht existiert.
Kopiert!
1 
2PROC APPEND base = advisees
3DATA = advisees_2014;
4RUN;
5 
10 Codeblock
PROC PRINT
Erklärung :
Diese PROC PRINT-Prozedur zeigt den Inhalt des Datensatzes 'advisees' nach dem Versuch, 'advisees_2014' ohne die Option FORCE hinzuzufügen. Die Variable 'program' wird nicht sichtbar sein.
Kopiert!
1PROC PRINT DATA = advisees;
2RUN;
11 Codeblock
PROC APPEND
Erklärung :
Diese PROC APPEND-Prozedur fügt 'advisees_2014' zu 'advisees' hinzu, wobei die Option FORCE verwendet wird. Die Option FORCE ermöglicht das Hinzufügen, auch wenn die Variablenstrukturen unterschiedlich sind. In diesem Fall wird die Variable 'program' aus 'advisees_2014' zum Datensatz 'advisees' hinzugefügt, und die vorhandenen Beobachtungen in 'advisees' erhalten einen fehlenden Wert für 'program'.
Kopiert!
1 
2PROC APPEND base = advisees
3DATA = advisees_2014 force;
4RUN;
5 
12 Codeblock
PROC PRINT
Erklärung :
Diese PROC PRINT-Prozedur zeigt den endgültigen Inhalt des Datensatzes 'advisees' nach dem erzwungenen Hinzufügen von 'advisees_2014', einschließlich aller Variablen, auch der neuen Variable 'program'.
Kopiert!
1PROC PRINT DATA = advisees;
2RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.