Le script commence par définir une variable macro 'name' et un fileref 'odsout'. Il crée ensuite un jeu de données nommé 'my_data' à partir de données en ligne (datalines). Une PROC SQL est utilisée pour ajouter une colonne 'bartotal' au jeu de données, représentant la somme des 'amount' par 'category'. Un second DATA STEP calcule le 'catpct' (pourcentage de chaque 'amount' par rapport au 'bartotal') et formate cette nouvelle variable en pourcentage. Enfin, il configure les options ODS pour la sortie HTML, définit les titres du graphique et utilise PROC SGPLOT pour créer un graphique à barres verticales empilées. Les options clés de SGPLOT incluent 'response=catpct', 'group=series' et 'dataskin=sheen' pour l'effet 3D.
Analyse des données
Type : CREATION_INTERNE
Le jeu de données 'my_data' est entièrement créé au début du script en utilisant la méthode DATALINES. Aucune donnée externe ou de bibliothèque SASHELP n'est utilisée comme source initiale.
1 Bloc de code
MACRO/GLOBAL
Explication : Définit la variable macro 'name' à 'col6' qui sera utilisée pour nommer le fichier de sortie HTML et l'image. 'filename odsout '.' ' dirige la sortie ODS vers le répertoire de travail actuel.
Copié !
%let name=col6;
filename odsout '.';
1
%let name=col6;
2
filename odsout '.';
2 Bloc de code
DATA STEP Data
Explication : Crée le jeu de données 'my_data' avec les variables CATEGORY, SERIES (caractère) et AMOUNT (numérique) en lisant les données fournies via la déclaration DATALINES.
Copié !
data my_data;
input CATEGORY SERIES $ 3-11 AMOUNT;
datalines;
1 Series A 5.0
2 Series A 6.8
3 Series A 9.2
1 Series B 6.5
2 Series B 6.9
3 Series B 5.6
1 Series C 2.3
2 Series C 3.1
3 Series C 2.3
;
run;
1
DATA my_data;
2
INPUT CATEGORY SERIES $ 3-11 AMOUNT;
3
DATALINES;
4
1 Series A 5.0
5
2 Series A 6.8
6
3 Series A 9.2
7
1 Series B 6.5
8
2 Series B 6.9
9
3 Series B 5.6
10
1 Series C 2.3
11
2 Series C 3.1
12
3 Series C 2.3
13
;
14
RUN;
3 Bloc de code
PROC SQL
Explication : Modifie le jeu de données 'my_data' en lui ajoutant une nouvelle colonne 'bartotal'. Cette colonne contient la somme de 'amount' pour chaque 'category', calculée via une agrégation SQL.
Copié !
proc sql;
create table my_data as
select *, sum(amount) as bartotal
from my_data
group by category;
quit; run;
1
PROC SQL;
2
create TABLE my_data as
3
select *, sum(amount) as bartotal
4
from my_data
5
group BY category;
6
QUIT; RUN;
4 Bloc de code
DATA STEP
Explication : Un second DATA STEP qui lit le jeu de données 'my_data', calcule le pourcentage 'catpct' de 'amount' par rapport au 'bartotal' pour chaque observation, et applique un format de pourcentage à cette nouvelle variable.
Copié !
data my_data; set my_data;
format catpct percent6.0;
catpct=amount/bartotal;
run;
1
DATA my_data; SET my_data;
2
FORMAT catpct percent6.0;
3
catpct=amount/bartotal;
4
RUN;
5 Bloc de code
ODS/OPTIONS
Explication : Ferme la sortie LISTING par défaut. Ouvre une destination ODS HTML, spécifiant le chemin de sortie, le nom du fichier ('col6.htm'), un titre pour la page HTML et un style 'htmlblue'. Configure ensuite les options graphiques ODS pour générer des images PNG avec une taille spécifique, sans bordure et avec une image map. Enfin, définit deux titres pour le graphique avec des propriétés de couleur, de taille et de style.
title2 color=gray33 ls=0.5 h=17pt "With 3D Shading";
6 Bloc de code
PROC SGPLOT
Explication : Utilise la PROC SGPLOT pour créer un graphique à barres empilées. Les barres sont définies par 'category' et empilées par 'series', avec 'catpct' comme variable de réponse. L'option 'dataskin=sheen' ajoute un effet 3D. Le style, les couleurs, les étiquettes et les attributs des axes sont configurés pour améliorer l'apparence du graphique. Après l'exécution, la destination ODS HTML est fermée et la sortie LISTING est rouverte.
dataskin=sheen /* <--- basically, added this line! */
7
outlineattrs=(color=black) nostatlabel;
8
yaxis
9
values=(0 to 1BY .2)
10
labelattrs=(size=16pt weight=bold color=gray33)
11
valueattrs=(size=16pt weight=bold color=gray33)
12
offsetmax=0 grid minor minorcount=1;
13
xaxis
14
labelattrs=(size=16pt weight=bold color=gray33)
15
valueattrs=(size=16pt weight=bold color=gray33)
16
display=(noticks);
17
RUN;
18
19
QUIT;
20
ODS HTML CLOSE;
21
ODS LISTING;
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.