Veröffentlicht am :
Datenmanipulation CREATION_INTERNE

Beispiele: Daten verschachteln

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Die Verschachtelung von SAS©-Datasets ist eine Technik, die es ermöglicht, Beobachtungen aus mehreren Datasets zu einem einzigen zu kombinieren, wobei die durch eine oder mehrere gemeinsame Variablen, die in der BY-Anweisung angegeben sind, definierte Reihenfolge eingehalten wird. Um eine korrekte Verschachtelung zu gewährleisten, ist es zwingend erforderlich, dass alle Eingabe-Datasets zuvor (mit PROC SORT) nach derselben BY-Variablen oder denselben BY-Variablen sortiert oder indiziert wurden. Der Prozess kopiert die Beobachtungen aus den ursprünglichen Datasets in das Ausgabe-Dataset, wobei die sequentielle Reihenfolge der Werte der BY-Variablen beibehalten wird. Wenn BY-Variablenwerte zwischen den Eingabe-Datasets dupliziert sind, bestimmt die Reihenfolge, in der die Datasets in der SET-Anweisung aufgeführt sind, die Reihenfolge der entsprechenden Beobachtungen in der Ausgabe. Wenn ein Eingabe-Dataset Variablen enthält, die in den anderen nicht vorhanden sind, werden die entsprechenden Werte im Ausgabe-Dataset null sein. Die Gesamtzahl der Beobachtungen im Ausgabe-Dataset entspricht der Summe der Beobachtungen aller Eingabe-Datasets.
Datenanalyse

Type : CREATION_INTERNE


Die Beispiele verwenden generierte Daten (Datalines), um die für die Demonstration der Datenverschachtelung erforderlichen SAS-Datasets zu erstellen.

1 Codeblock
DATA STEP / PROC SORT Data
Erklärung :
Dieses Beispiel erstellt zwei Datasets, 'animal' und 'plant', und sortiert sie nach der gemeinsamen Variablen 'common'. Anschließend verschachtelt der DATA-Schritt diese Datasets mithilfe der BY-Anweisung. Das Ausgabe-Dataset 'interleave' enthält die Beobachtungen beider Datasets, geordnet nach 'common'.
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 SORT DATA=animal; BY common; RUN;
26PROC SORT DATA=plant; BY common; RUN;
27 
28DATA interleave;
29 SET animal plant;
30 BY common;
31RUN;
32PROC PRINT DATA=interleave; RUN;
2 Codeblock
DATA STEP / PROC SORT Data
Erklärung :
Dieses Beispiel demonstriert die Verschachtelung von Datasets ('animalDupes' und 'plantDupes'), die doppelte Werte für die BY-Variable 'common' enthalten. Die Datasets werden vor der Verschachtelung sortiert. Die Reihenfolge der Datasets in der SET-Anweisung beeinflusst die Reihenfolge der Beobachtungen mit denselben 'common'-Werten im Ausgabe-Dataset. Ein zusätzliches Beispiel mit der Reihenfolge 'plantDupes animalDupes' wird zur Veranschaulichung dieses Effekts bereitgestellt.
Kopiert!
1DATA animalDupes;
2 INPUT common $ animal $;
3 DATALINES;
4a Ant
5a Ape
6b Bird
7c Cat
8d Dog
9e Eagle
10;
11RUN;
12 
13DATA plantDupes;
14 INPUT common $ plant $;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19c Celery
20d Dewberry
21e Eggplant
22;
23RUN;
24 
25PROC SORT DATA=animalDupes; BY common; RUN;
26PROC SORT DATA=plantDupes; BY common; RUN;
27 
28DATA interleave;
29 SET animalDupes plantDupes;
30 BY common;
31RUN;
32 
33PROC PRINT DATA=interleave; RUN;
3 Codeblock
DATA STEP / PROC SORT Data
Erklärung :
Dieses Beispiel veranschaulicht die Verschachtelung von Datasets ('animalDupes' und 'plantMissing2'), bei denen die BY-Variable 'common' Werte enthält, die in einem Dataset vorhanden sind, aber nicht im anderen (z. B. 'd' in 'animalDupes' und 'f' in 'plantMissing2'). Nach dem Sortieren verschachtelt der DATA-Schritt die Datasets. Variablen, die in einer bestimmten Beobachtung eines Eingabe-Datasets nicht vorhanden sind, erhalten im Ausgabe-Dataset fehlende Werte.
Kopiert!
1DATA animalDupes;
2 INPUT common $ animal $;
3 DATALINES;
4a Ant
5a Ape
6b Bird
7c Cat
8d Dog
9e Eagle
10;
11RUN;
12 
13DATA plantMissing2;
14 INPUT common $ plant $;
15 DATALINES;
16a Apple
17b Banana
18c Coconut
19e Eggplant
20f Fig
21;
22RUN;
23 
24PROC SORT DATA=animalDupes; BY common; RUN;
25PROC SORT DATA=plantMissing2; BY common; RUN;
26 
27DATA interleave;
28 SET animalDupes plantMissing2;
29 BY common;
30RUN;
31 
32PROC PRINT DATA=interleave; 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.
Urheberrechtsinformationen : Copyright © SAS Institute Inc. All Rights Reserved