Le programme commence par définir un format utilisateur `$sequip` via `PROC FORMAT` pour clarifier les libellés de ligne de produit. Ensuite, `PROC REPORT` est employée pour analyser la table `sashelp.orsales`. Le rapport groupe les données par année et par ligne de produit, calcule le profit total (`sum`) et le pourcentage de profit de chaque ligne par rapport au total annuel (`computed`). Un sommaire détaillé est inclus après chaque année. La table résultante est sauvegardée dans `yrdat`. Enfin, `PROC PRINT` est utilisée pour afficher un aperçu de cette table de sortie `yrdat`.
Analyse des données
Type : SASHELP
Les données d'entrée principales proviennent de la table standard SASHELP.ORSALES. La table `yrdat` est créée en interne par la `PROC REPORT`.
1 Bloc de code
PROC FORMAT
Explication : Ce bloc définit un format utilisateur nommé `$sequip`. Il est utilisé pour mapper la valeur 'Sports' à 'Sports Equipment', ce qui améliore la lisibilité de la variable 'product_line' dans le rapport généré.
Copié !
proc format;
value $sequip
'Sports' = 'Sports Equipment';
run;
1
PROC FORMAT;
2
value $sequip
3
'Sports' = 'Sports Equipment';
4
RUN;
2 Bloc de code
PROC REPORT Data
Explication : Ce bloc utilise `PROC REPORT` pour générer un rapport à partir de `sashelp.orsales`, regroupé par année et ligne de produit. Il calcule le profit total (`profit`) et le pourcentage de profit de chaque ligne par rapport au total annuel (`percent`). La table `yrdat` est créée en sortie. Les instructions `compute` sont utilisées pour calculer le total annuel des profits et le pourcentage. La ligne `line @code_sas_json/test_sha256.json 'Profits in US dollars';` est une instruction `LINE` qui imprimerait la chaîne de caractères telle quelle dans la sortie du rapport ; son usage pour référencer un fichier JSON est une syntaxe inhabituelle dans un contexte SAS standard, mais est incluse telle quelle dans le code analysé.
Copié !
title1 'Total profit per year';
title2 'Separated by Product Line';
proc report data=sashelp.orsales
out= yrdat nowd split='*';
column year product_line profit percent;
define year / group;
define product_line
/ group
f=$sequip.
'Product*Groups';
define profit / analysis
sum format=dollar15.2
'Annual*Profit';
define percent/ computed 'Product*Percentage'
format=percent10.2;
break after year/ summarize suppress skip;
compute before year;
total = profit.sum;
endcomp;
compute percent;
percent = profit.sum/total;
endcomp;
compute after;
line ' ';
line @code_sas_json/test_sha256.json 'Profits in US dollars';
endcomp;
run;
1
title1 'Total profit per year';
2
title2 'Separated by Product Line';
3
PROC REPORTDATA=sashelp.orsales
4
out= yrdat nowd split='*';
5
column year product_line profit percent;
6
define year / group;
7
define product_line
8
/ group
9
f=$sequip.
10
'Product*Groups';
11
define profit / analysis
12
sum FORMAT=dollar15.2
13
'Annual*Profit';
14
define percent/ computed 'Product*Percentage'
15
FORMAT=percent10.2;
16
17
break after year/ summarize suppress skip;
18
19
compute before year;
20
total = profit.sum;
21
endcomp;
22
compute percent;
23
percent = profit.sum/total;
24
endcomp;
25
compute after;
26
line ' ';
27
line @code_sas_json/test_sha256.json 'Profits in US dollars';
28
endcomp;
29
RUN;
3 Bloc de code
PROC PRINT
Explication : Ce bloc utilise `PROC PRINT` pour afficher les premières observations de la table `yrdat`, qui a été générée par la `PROC REPORT` précédente. Cela permet un aperçu rapide de la structure et du contenu des données finales du rapport.
Copié !
title3 'Glimpse of the Output Data Table';
proc print data=yrdat;
run;
1
title3 'Glimpse of the Output
2
Data Table';
3
PROC PRINT
4
DATA=yrdat;
5
6
RUN;
7
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.
Informations de Copyright : * E5_3.sas
*
* Chapter 5 Exercise 3
*
* Total profit and percentage for each Product line within year;
* With annual summary and a glimpse of the Output data table;
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.