Die Beispiele verwenden über Datalines generierte Daten, um ihre Autonomie zu gewährleisten.
1 Codeblock
DATA STEP / PROC SORT Data
Erklärung : Dieses Beispiel zeigt, wie Daten mithilfe einer einzelnen BY-Variablen, `zipCode`, in einem DATA-Schritt gruppiert werden. Der Datensatz `zip` enthält Straßennamen, Städte, Bundesstaaten und Postleitzahlen. Die Gruppen werden durch die Angabe der Variablen `zipCode` in der BY-Anweisung erstellt. Der DATA-Schritt ordnet Postleitzahlen mit denselben Werten in Gruppen an. Die Abbildung zeigt fünf BY-Gruppen, die erstellt werden.
Kopiert!
data zip;
input zipCode State $ City $ Street $20-29;
datalines;
85730 AZ Tucson Domenic Ln
85730 AZ Tucson Gleeson Pl
33133 FL Miami Rice St
33133 FL Miami Thomas Ave
33133 FL Miami Surrey Dr
33133 FL Miami Trade Ave
33146 FL Miami Nervia St
33146 FL Miami Corsica St
33801 FL Lakeland French Ave
33809 FL Lakeland Egret Dr
;
proc sort data=zip;
by zipCode;
run;
data zip;
set zip;
by zipCode;
run;
proc print data=zip noobs;
title 'BY-Group Uing a Single Variable: ZipCode';
run;
1
DATA zip;
2
INPUT zipCode State $ City $ Street $20-29;
3
DATALINES;
4
85730 AZ Tucson Domenic Ln
5
85730 AZ Tucson Gleeson Pl
6
33133 FL Miami Rice St
7
33133 FL Miami Thomas Ave
8
33133 FL Miami Surrey Dr
9
33133 FL Miami Trade Ave
10
33146 FL Miami Nervia St
11
33146 FL Miami Corsica St
12
33801 FL Lakeland French Ave
13
33809 FL Lakeland Egret Dr
14
;
15
16
PROC SORTDATA=zip;
17
BY zipCode;
18
RUN;
19
20
DATA zip;
21
SET zip;
22
BY zipCode;
23
RUN;
24
25
PROC PRINTDATA=zip noobs;
26
title 'BY-Group Uing a Single Variable: ZipCode';
27
RUN;
2 Codeblock
DATA STEP / PROC SORT Data
Erklärung : Dieses Beispiel zeigt die Ergebnisse der Verarbeitung des Datensatzes `zip` mit zwei BY-Variablen, State und City. Die Abbildung zeigt drei BY-Gruppen. Der Datensatz wird so angezeigt, dass die BY-Variablen State und City zur besseren Lesbarkeit links gedruckt werden. Die Position der BY-Variablen in den Beobachtungen hat keinen Einfluss darauf, wie die Werte gruppiert und geordnet werden.
Die Beobachtungen sind so organisiert, dass die Beobachtungen für Arizona zuerst erscheinen. Die Beobachtungen innerhalb jedes State-Wertes sind nach dem Wert von City geordnet. Jede BY-Gruppe hat eine einzigartige Kombination von Werten für die Variablen State und City. Zum Beispiel ist der BY-Wert der ersten BY-Gruppe `AZ Tucson`, und der BY-Wert der zweiten BY-Gruppe ist `FL Lakeland`.
Kopiert!
data zip;
input State $ City $ Street $13-22 ZipCode ;
datalines;
FL Miami Nervia St 33146
FL Miami Rice St 33133
FL Miami Corsica St 33146
FL Miami Thomas Ave 33133
FL Miami Surrey Dr 33133
FL Miami Trade Ave 33133
FL Lakeland French Ave 33801
FL Lakeland Egret Dr 33809
AZ Tucson Domenic Ln 85730
AZ Tucson Gleeson Pl 85730
;
proc sort data=zip;
by State City;
run;
data zip;
set zip;
by State City;
run;
proc print data=zip noobs;
title 'BY Groups with Multiple BY Variables: State City';
run;
1
DATA zip;
2
INPUT State $ City $ Street $13-22 ZipCode ;
3
DATALINES;
4
FL Miami Nervia St 33146
5
FL Miami Rice St 33133
6
FL Miami Corsica St 33146
7
FL Miami Thomas Ave 33133
8
FL Miami Surrey Dr 33133
9
FL Miami Trade Ave 33133
10
FL Lakeland French Ave 33801
11
FL Lakeland Egret Dr 33809
12
AZ Tucson Domenic Ln 85730
13
AZ Tucson Gleeson Pl 85730
14
;
15
16
17
PROC SORTDATA=zip;
18
BY State City;
19
RUN;
20
21
DATA zip;
22
SET zip;
23
BY State City;
24
RUN;
25
PROC PRINTDATA=zip noobs;
26
title 'BY Groups with Multiple BY Variables: State City';
27
RUN;
3 Codeblock
DATA STEP / PROC FORMAT Data
Erklärung : Dieses Beispiel verwendet die FORMAT-Prozedur, die GROUPFORMAT-Option und die FORMAT-Anweisung, um einen einfachen Datensatz zu erstellen und zu drucken. Der Eingabedatensatz TEST wird nach aufsteigenden Werten sortiert. Der Datensatz NEWTEST wird nach den formatierten Werten der Variablen Score organisiert. Das Beispiel verwendet die GROUPFORMAT-Option und die FORMAT-Anweisung, um einen einfachen Datensatz zu erstellen und zu drucken.
Hauptideen:
- Die Verarbeitung von BY-Gruppen im DATA-Schritt unter Verwendung der GROUPFORMAT-Option ist identisch mit der Verarbeitung von BY-Gruppen mit formatierten Werten in SAS-Prozeduren. Die Verwendung der GROUPFORMAT-Option ist nützlich, wenn Sie Ihre eigenen Formate definieren, um gruppierte Daten anzuzeigen.
- Die Verwendung der GROUPFORMAT-Option im DATA-Schritt stellt sicher, dass die BY-Gruppen, die Sie zum Erstellen eines Datensatzes verwenden, mit den BY-Gruppen in den PROC-Schritten übereinstimmen, die gruppierte und formatierte Daten melden. GROUPFORMAT bestimmt auch, wie die Variablen FIRST.variable und LAST.variable zugewiesen werden.
Kopiert!
options
linesize=80 pagesize=60;
data test;
input name $ Score;
datalines;
Jon 1
Anthony 3
Miguel 3
Joseph 4
Ian 5
Jan 6
;
proc format;
value Range 1-2='Low'
3-4='Medium'
5-6='High';
run;
data newtest;
set test;
by groupformat Score;
format Score Range.;
run;
proc print data=newtest;
title 'Score Categories';
var Name Score;
by Score;
run;
1
options
2
linesize=80 pagesize=60;
3
4
DATA test;
5
INPUT name $ Score;
6
DATALINES;
7
Jon 1
8
Anthony 3
9
Miguel 3
10
Joseph 4
11
Ian 5
12
Jan 6
13
;
14
PROC FORMAT;
15
value Range 1-2='Low'
16
3-4='Medium'
17
5-6='High';
18
RUN;
19
20
DATA newtest;
21
SET test;
22
BY groupformat Score;
23
FORMAT Score Range.;
24
RUN;
25
26
PROC PRINTDATA=newtest;
27
title 'Score Categories';
28
var Name Score;
29
BY Score;
30
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.