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!
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 / 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!
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 / 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!
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.