Le script utilise la procédure `PROC PRINT` pour afficher des listes de données issues de la table `sashelp.Orsales`. Diverses options sont utilisées, comme le filtrage avec `WHERE`, la somme de variables numériques avec `SUM`, et la personnalisation des en-têtes. La procédure `PROC SORT` est également employée pour réorganiser les données selon différents critères de tri, ascendants et descendants. Le script montre aussi comment ajouter des titres et des notes de bas de page aux rapports.
Analyse des données
Type : SASHELP
Les données proviennent exclusivement de la table `sashelp.Orsales`, qui est une table d'échantillon standard fournie avec SAS.
1 Bloc de code
PROC PRINT
Explication : Ce bloc affiche les variables `product_Group`, `Quantity` et `Total_Retail_Price` de la table `sashelp.Orsales`. Il calcule et affiche également la somme totale de `Total_Retail_Price`.
Copié !
proc print data= sashelp.Orsales;
var product_Group Quantity Total_Retail_Price;
sum Total_Retail_Price;
run;
1
PROC PRINTDATA= sashelp.Orsales;
2
var product_Group Quantity Total_Retail_Price;
3
sum Total_Retail_Price;
4
RUN;
2 Bloc de code
PROC PRINT
Explication : Affiche les variables `product_Group`, `Quantity` et `Profit` pour les observations où le `Profit` est supérieur à 2000.
Copié !
proc print data= sashelp.Orsales;
var product_Group Quantity Profit;
where Profit >2000 ;
run;
1
PROC PRINTDATA= sashelp.Orsales;
2
var product_Group Quantity Profit;
3
where Profit >2000 ;
4
RUN;
3 Bloc de code
PROC PRINT
Explication : Similaire au bloc précédent, mais l'option `noobs` supprime le numéro d'observation de la sortie.
Copié !
proc print data= sashelp.Orsales noobs;
var product_Group Quantity Profit;
where Profit >2000 ;
run;
1
PROC PRINTDATA= sashelp.Orsales noobs;
2
var product_Group Quantity Profit;
3
where Profit >2000 ;
4
RUN;
4 Bloc de code
PROC PRINT
Explication : Affiche toutes les variables des observations du premier trimestre 2000 (`2000Q1`) avec un profit supérieur à 2000. L'instruction `where same and` ajoute une condition supplémentaire pour ne garder que la catégorie de produit 'Clothes'.
Copié !
proc print data= sashelp.Orsales noobs;
where Quarter= '2000Q1' and Profit >2000 ;
where same and Product_Category = 'Clothes';
run;
1
PROC PRINTDATA= sashelp.Orsales noobs;
2
where Quarter= '2000Q1' and Profit >2000 ;
3
where same and Product_Category = 'Clothes';
4
RUN;
5 Bloc de code
PROC PRINT
Explication : Affiche les données pour le premier trimestre 2000. La variable `Year` est utilisée comme variable d'identification (`id`), ce qui la place au début de chaque ligne et la fige lors du défilement horizontal dans certaines sorties.
Copié !
proc print data= sashelp.Orsales noobs;
where Quarter= '2000Q1' ;
id Year;
var product_Group Quantity Profit;
run;
1
PROC PRINTDATA= sashelp.Orsales noobs;
2
where Quarter= '2000Q1' ;
3
id Year;
4
var product_Group Quantity Profit;
5
RUN;
6 Bloc de code
PROC SORT
Explication : Trie la table `sashelp.Orsales` en fonction de la variable `Profit` par ordre croissant. La table n'est pas sauvegardée, le tri est temporaire pour la procédure suivante (s'il y en a une).
Copié !
proc sort data= sashelp.Orsales;
by Profit;
run;
1
PROC SORTDATA= sashelp.Orsales;
2
BY Profit;
3
RUN;
7 Bloc de code
PROC SORT
Explication : Trie la table par `Year` (croissant) puis par `Profit` (décroissant).
Copié !
proc sort data= sashelp.Orsales;
by Year descending Profit;
run;
1
2
PROC SORT
3
DATA= sashelp.Orsales;
4
BY Year descending Profit;
5
RUN;
6
8 Bloc de code
PROC SORT
Explication : Ce bloc de code utilise une syntaxe incorrecte. `PROC SORT` ne supporte pas les instructions `SUM` et `VAR`. L'intention était probablement d'utiliser une autre procédure comme `PROC MEANS` ou de faire un `DATA STEP` après le tri.
Copié !
proc sort data= sashelp.Orsales;
by Year;
sum Profit;
var Quarter Total_Retail_Price;
run;
1
PROC SORTDATA= sashelp.Orsales;
2
BY Year;
3
sum Profit;
4
var Quarter Total_Retail_Price;
5
RUN;
9 Bloc de code
PROC SORT
Explication : Trie la table par `Year` (croissant) et `Profit` (décroissant). La clause `WHERE` est présente mais commentée, elle n'a donc aucun effet.
Copié !
proc sort data= sashelp.Orsales;
by Year descending Profit;
/*where Total_Retail_Sales >40000*/
run;
1
PROC SORTDATA= sashelp.Orsales;
2
BY Year descending Profit;
3
/*where Total_Retail_Sales >40000*/
4
RUN;
10 Bloc de code
Instructions globales
Explication : Définit les titres de niveau 1 et 2 ainsi qu'une note de bas de page de niveau 1 pour les sorties de rapport suivantes.
Copié !
title1 'Orion Star Report';
title2 'Profit Report';
footnote1 'confidential';
1
title1 'Orion Star Report';
2
title2 'Profit Report';
3
footnote1 'confidential';
4
11 Bloc de code
PROC PRINT
Explication : Affiche une sélection de variables en utilisant leurs libellés (`label`). Il redéfinit également les libellés pour `product_group` et `Total_Retail_Price` spécifiquement pour cette sortie.
Copié !
proc print data= sashelp.Orsales label;
var Year product_Group Quantity Profit Total_Retail_Price;
label product_group='Product'
Total_Retail_Price='Total Retail Price';
run;
1
PROC PRINTDATA= sashelp.Orsales label;
2
var Year product_Group Quantity Profit Total_Retail_Price;
3
label product_group='Product'
4
Total_Retail_Price='Total Retail Price';
5
RUN;
12 Bloc de code
Instructions globales
Explication : Annule tous les titres et notes de bas de page définis précédemment pour les futures sorties.
Copié !
title;
footnote;
1
title;
2
footnote;
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.
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.