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!
data advisees;
input first $ gender $ matric;
datalines;
Angela F 2010
Dawn F 2011
Aaron M 2011
run;
1
DATA advisees;
2
INPUT first $ gender $ matric;
3
DATALINES;
4
Angela F 2010
5
Dawn F 2011
6
Aaron M 2011
7
RUN;
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!
data advisees_2012;
input first $ gender $ matric;
datalines;
Sruthi F 2012
Lindsey F 2012
Natalie F 2012
run;
1
DATA advisees_2012;
2
INPUT first $ gender $ matric;
3
DATALINES;
4
Sruthi F 2012
5
Lindsey F 2012
6
Natalie F 2012
7
RUN;
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!
proc append base = advisees data = advisees_2012;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2012;
4
RUN;
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!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
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!
data advisees_2013;
input first $ matric;
datalines;
Sara 2013
Dennis 2013
run;
1
DATA advisees_2013;
2
INPUT first $ matric;
3
DATALINES;
4
Sara 2013
5
Dennis 2013
6
RUN;
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!
proc append base = advisees data = advisees_2013;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2013;
4
RUN;
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!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
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!
data advisees_2014;
input first $ matric program $;
datalines;
Nathan 2014 MPH
Gloria 2014 PhD
run;
1
DATA advisees_2014;
2
INPUT first $ matric program $;
3
DATALINES;
4
Nathan 2014 MPH
5
Gloria 2014 PhD
6
RUN;
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!
proc append base = advisees data = advisees_2014;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2014;
4
RUN;
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!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
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!
proc append base = advisees data = advisees_2014 force;
run;
1
2
PROC APPEND base = advisees
3
DATA = advisees_2014 force;
4
RUN;
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!
proc print data = advisees;
run;
1
PROC PRINTDATA = advisees;
2
RUN;
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.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.