Les exemples utilisent des données générées via des datalines, assurant leur autonomie.
1 Bloc de code
DATA STEP / PROC SORT Data
Explication : Cet exemple montre comment regrouper des données en utilisant une seule variable BY, `zipCode`, dans une étape DATA. Le jeu de données `zip` contient des noms de rues, des villes, des états et des codes postaux. Les groupes sont créés en spécifiant la variable `zipCode` dans l'instruction BY. L'étape DATA arrange les codes postaux ayant les mêmes valeurs en groupes. La figure montre cinq groupes BY qui sont créés.
Copié !
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 Bloc de code
DATA STEP / PROC SORT Data
Explication : Cet exemple montre les résultats du traitement du jeu de données `zip` avec deux variables BY, State et City. La figure montre trois groupes BY. Le jeu de données est affiché avec les variables BY State et City imprimées à gauche pour une lecture facile. La position des variables BY dans les observations n'affecte pas la façon dont les valeurs sont regroupées et ordonnées.
Les observations sont organisées de telle sorte que les observations pour l'Arizona apparaissent en premier. Les observations au sein de chaque valeur de State sont organisées par ordre de la valeur de City. Chaque groupe BY a une combinaison unique de valeurs pour les variables State et City. Par exemple, la valeur BY du premier groupe BY est `AZ Tucson`, et la valeur BY du deuxième groupe BY est `FL Lakeland`.
Copié !
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 Bloc de code
DATA STEP / PROC FORMAT Data
Explication : Cet exemple utilise la procédure FORMAT, l'option GROUPFORMAT et l'instruction FORMAT pour créer et imprimer un jeu de données simple. Le jeu de données TEST en entrée est trié par valeurs croissantes. Le jeu de données NEWTEST est organisé par les valeurs formatées de la variable Score. L'exemple utilise l'option GROUPFORMAT et l'instruction FORMAT pour créer et imprimer un jeu de données simple.
Idées clés :
- Le traitement des groupes BY dans l'étape DATA à l'aide de l'option GROUPFORMAT est le même que le traitement des groupes BY avec des valeurs formatées dans les procédures SAS. L'utilisation de l'option GROUPFORMAT est utile lorsque vous définissez vos propres formats pour afficher des données regroupées.
- L'utilisation de l'option GROUPFORMAT dans l'étape DATA garantit que les groupes BY que vous utilisez pour créer un jeu de données correspondent aux groupes BY dans les étapes PROC qui rapportent des données groupées et formatées. GROUPFORMAT détermine également comment les variables FIRST.variable et LAST.variable sont attribuées.
Copié !
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;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
« Si vous travaillez sur des volumes massifs, utilisez l'option OUT= de la PROC SORT. Cela vous permet de conserver votre table originale "brute" et de créer une version triée de travail. Cela évite de corrompre l'ordre d'origine de vos données si celui-ci a une importance historique ou technique »
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.