Veröffentlicht am :
Datenmanipulation CREATION_INTERNE

Beispiele: BY-Gruppen im DATA-Schritt verarbeiten

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Die Analyse von BY-Gruppen ist eine grundlegende Funktion in SAS©, die es ermöglicht, Daten basierend auf eindeutigen oder kombinierten Werten spezifischer Variablen zu segmentieren und zu verarbeiten. Diese Beispiele zeigen, wie die SORT-Prozedur zur Datenvorbereitung verwendet wird, gefolgt vom DATA-Schritt mit der BY-Anweisung für die Gruppierungslogik. Die Verwendung der GROUPFORMAT-Option wird auch für Szenarien detailliert beschrieben, in denen Daten basierend auf formatierten Werten gruppiert werden, um eine Konsistenz zwischen dem DATA-Schritt und den Anzeige-Prozeduren zu gewährleisten.
Datenanalyse

Type : CREATION_INTERNE


Alle Beispiele verwenden intern generierte Daten über die DATALINES-Anweisung, wodurch ihre Autonomie gewährleistet ist.

1 Codeblock
DATA STEP / PROC SORT / PROC PRINT Data
Erklärung :
Dieses Beispiel zeigt, wie Daten mithilfe einer einzelnen BY-Variablen, `zipCode`, in einem DATA-Schritt gruppiert werden können. Der Eingabedatensatz, `zip`, enthält Straßennamen, Städte, Bundesstaaten und Postleitzahlen. Die Gruppen werden durch Angabe der Variablen `zipCode` in der BY-Anweisung erstellt. Der DATA-Schritt organisiert die Postleitzahlen mit denselben Werten in Gruppen.
Kopiert!
1DATA zip;
2INPUT zipCode State $ City $ Street $20-29;
3DATALINES;
485730 AZ Tucson Domenic Ln
585730 AZ Tucson Gleeson Pl
633133 FL Miami Rice St
733133 FL Miami Thomas Ave
833133 FL Miami Surrey Dr
933133 FL Miami Trade Ave
1033146 FL Miami Nervia St
1133146 FL Miami Corsica St
1233801 FL Lakeland French Ave
1333809 FL Lakeland Egret Dr
14;
15 
16PROC SORT DATA=zip;
17 BY zipCode;
18RUN;
19 
20DATA zip;
21 SET zip;
22 BY zipCode;
23RUN;
24 
25PROC PRINT DATA=zip noobs;
26 title 'BY-Group Uing a Single Variable: ZipCode';
27RUN;
2 Codeblock
DATA STEP / PROC SORT / PROC PRINT Data
Erklärung :
Dieses Beispiel zeigt die Ergebnisse der Verarbeitung des Datensatzes `zip` mit zwei BY-Variablen, `State` (Bundesstaat) und `City` (Stadt). Die Beobachtungen sind so angeordnet, dass die aus Arizona zuerst erscheinen. Die Beobachtungen innerhalb jedes `State`-Wertes sind nach dem `City`-Wert geordnet. Jede BY-Gruppe hat eine einzigartige Kombination von Werten für die Variablen `State` und `City`.
Kopiert!
1DATA zip;
2INPUT State $ City $ Street $13-22 ZipCode ;
3DATALINES;
4FL Miami Nervia St 33146
5FL Miami Rice St 33133
6FL Miami Corsica St 33146
7FL Miami Thomas Ave 33133
8FL Miami Surrey Dr 33133
9FL Miami Trade Ave 33133
10FL Lakeland French Ave 33801
11FL Lakeland Egret Dr 33809
12AZ Tucson Domenic Ln 85730
13AZ Tucson Gleeson Pl 85730
14;
15 
16 
17PROC SORT DATA=zip;
18 BY State City;
19RUN;
20 
21DATA zip;
22 SET zip;
23 BY State City;
24RUN;
25PROC PRINT DATA=zip noobs;
26 title 'BY Groups with Multiple BY Variables: State City';
27RUN;
3 Codeblock
DATA STEP / PROC FORMAT / PROC PRINT Data
Erklärung :
Dieses Beispiel verwendet die Prozedur `FORMAT`, die Option `GROUPFORMAT` und die Anweisung `FORMAT` um einen einfachen Datensatz zu erstellen und auszugeben. Der Eingabedatensatz `TEST` wird nach aufsteigenden Werten sortiert. Der Datensatz `NEWTEST` wird nach den formatierten Werten der Variablen `Score` organisiert. Die Verarbeitung von BY-Gruppen im DATA-Schritt mit der Option `GROUPFORMAT` ist identisch mit der Verarbeitung von BY-Gruppen mit formatierten Werten in SAS-Prozeduren, was nützlich ist, wenn benutzerdefinierte Formate zur Anzeige gruppierter Daten definiert werden.
Kopiert!
1options
2linesize=80 pagesize=60;
3 
4DATA test;
5 INPUT name $ Score;
6DATALINES;
7Jon 1
8Anthony 3
9Miguel 3
10Joseph 4
11Ian 5
12Jan 6
13;
14PROC FORMAT;
15 value Range 1-2='Low'
16 3-4='Medium'
17 5-6='High';
18RUN;
19 
20DATA newtest;
21 SET test;
22 BY groupformat Score;
23 FORMAT Score Range.;
24RUN;
25 
26PROC PRINT DATA=newtest;
27 title 'Score Categories';
28 var Name Score;
29 BY Score;
30RUN;
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