Veröffentlicht am :
ETL CREATION_INTERNE

Beispiele: Daten verketten

Dieser Code ist auch verfügbar auf: English Español
Wartet auf Validierung
Die funktionale Analyse dieses Dokuments konzentriert sich auf drei Hauptmethoden zum Verketten von SAS©-Datasets. Die SET-Anweisung wird verwendet, um Beobachtungen sequenziell aus mehreren Eingabe-Datasets in ein einzelnes Ausgabe-Dataset zu lesen, indem die Beobachtungen nacheinander hinzugefügt werden. PROC SQL verwendet die OUTER UNION CORRESPONDING-Klausel, um die Zeilen von zwei Tabellen zu kombinieren, wobei gemeinsame Variablen überlagert werden. Schließlich wird PROC APPEND verwendet, um Beobachtungen eines Datasets an das Ende eines bestehenden Datasets anzuhängen, ohne ein neues Dataset zu erstellen. Überlegungen zum Umgang mit nicht-gemeinsamen Variablen und der Verwendung der Option OPEN=DEFER werden ebenfalls behandelt.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines) für die Datasets 'animal', 'plant', 'Year1', 'Year2' sowie 'Table1' und 'Table2'.

1 Codeblock
DATA STEP Data
Erklärung :
Dieses Beispiel verwendet die SET-Anweisung, um zwei Datasets ('animal' und 'plant') zu einem einzigen Ausgabe-Dataset ('concatenate') zu verketten. Die Beobachtungen von 'animal' werden vor denen von 'plant' platziert. Gemeinsame Variablen ('common') werden verwaltet, und nicht-gemeinsame Variablen werden mit fehlenden Werten gefüllt. Das Beispiel zeigt die Erstellung der Datasets 'animal' und 'plant' mithilfe von Datalines, um sie eigenständig zu machen.
Kopiert!
1DATA animal;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5b Bird
6c Cat
7d Dog
8e Eagle
9f Frog
10;
11RUN;
12 
13DATA plant;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19d Dewberry
20e Eggplant
21f Fig
22;
23RUN;
24 
25DATA concatenate;
26 SET animal plant;
27RUN;
28PROC PRINT DATA=concatenate;
29RUN;
2 Codeblock
PROC SQL Data
Erklärung :
Dieses Beispiel verwendet PROC SQL mit der Anweisung OUTER UNION CORRESPONDING, um die Datasets 'animal' und 'plant' zu verketten. Dadurch werden alle Zeilen der beiden Tabellen kombiniert und gemeinsame Variablen überlagert. Das Ergebnis wird in einer neuen Tabelle namens 'combined' gespeichert. Die Datasets 'animal' und 'plant' werden mithilfe von Datalines erstellt, um die Autonomie des Beispiels zu gewährleisten.
Kopiert!
1DATA animal;
2 INPUT common $ animal$;
3 DATALINES;
4a Ant
5b Bird
6c Cat
7d Dog
8e Eagle
9f Frog
10;
11RUN;
12 
13DATA plant;
14 INPUT common $ plant$;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19d Dewberry
20e Eggplant
21f Fig
22;
23RUN;
24 
25PROC SQL;
26 create TABLE combined as
27 select * from animal
28 outer union corresponding
29 select * from plant;
30QUIT;
3 Codeblock
PROC APPEND Data
Erklärung :
Dieses Beispiel demonstriert die Verwendung von PROC APPEND, um Beobachtungen aus dem Dataset 'Year2' an das Ende des Datasets 'Year1' anzuhängen. Im Gegensatz zur SET-Anweisung ändert PROC APPEND das 'BASE='-Dataset ('Year1' hier) direkt und erstellt kein neues Dataset. Die Datasets 'Year1' und 'Year2' werden mit Datalines erstellt.
Kopiert!
1DATA Year1;
2 INPUT Date;
3 DATALINES;
42009
52010
62011
72012
8;
9RUN;
10 
11DATA Year2;
12 INPUT Date;
13 DATALINES;
142010
152011
162012
172013
182014
19;
20RUN;
21 
22PROC APPEND base=Year1 DATA=Year2;
23RUN;
24PROC PRINT DATA=Year1;
25 title "Year1";
26RUN;
4 Codeblock
DATA STEP Data
Erklärung :
Dieses Beispiel veranschaulicht, wie die Option OPEN=DEFER in der DATA-Anweisung verwendet werden kann, um eine Meldung im SAS-Log zu generieren, wenn Variablen in den Eingabe-Datasets vorhanden sind, die nicht im ersten gelesenen Dataset enthalten sind. Zuerst wird die Verkettung ohne OPEN=DEFER gezeigt, bei der fehlende Variablen einfach mit fehlenden Werten gefüllt werden. Dann wird derselbe Prozess mit OPEN=DEFER gezeigt, was dazu führt, dass zusätzliche Variablen ignoriert und eine Warnung im Log ausgegeben wird. Die Datasets 'Table1' und 'Table2' werden mithilfe von Datalines erstellt.
Kopiert!
1DATA Table1;
2 INPUT var1 var2 var3;
3 DATALINES;
41 10 100
52 20 200
63 30 300
74 40 400
8;
9RUN;
10 
11DATA Table2;
12 INPUT var1 var2 var3 predict lowermean;
13 DATALINES;
145 50 500 0.5 0.1
156 60 600 0.6 0.2
167 70 700 0.7 0.3
178 80 800 0.8 0.4
18;
19RUN;
20 
21DATA concat;
22 SET table1 table2;
23RUN;
24PROC PRINT DATA=concat;
25 title "Concatenate Table1 and Table2";
26RUN;
27 
28DATA concat2;
29 SET table1 table2 open=defer;
30RUN;
31PROC PRINT DATA=concat2;
32 title "Concatenate with OPEN=DEFER";
33RUN;
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.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved