Publié le :
Reporting CREATION_INTERNE

Génération de graphique à barres empilées SGPLOT

Ce code est également disponible en : Deutsch English Español
En attente de validation
Le script commence par définir une variable macro 'name' pour nommer les fichiers de sortie. Il crée ensuite un jeu de données 'my_data' en utilisant des 'datalines' internes. Les instructions ODS (Output Delivery System) sont configurées pour générer une sortie HTML contenant le graphique. PROC SGPLOT est utilisé pour créer un graphique à barres empilées, visualisant la variable 'AMOUNT' regroupée par 'SERIES' sur l'axe des catégories. Des titres personnalisés et des attributs de style sont appliqués pour améliorer la présentation. Enfin, les destinations ODS sont fermées.
Analyse des données

Type : CREATION_INTERNE


Le jeu de données 'my_data' est créé directement dans le script SAS en utilisant la méthode 'datalines', ce qui signifie que les données sont intégrées au code et ne proviennent pas d'une source externe ou de bibliothèques SAS standard comme SASHELP.

1 Bloc de code
Configuration initiale
Explication :
Ce bloc initialise une variable macro `name` utilisée pour nommer le fichier de sortie HTML et l'image. La déclaration `filename odsout '.'` redirige la sortie ODS vers le répertoire de travail courant.
Copié !
1%let name=col3;
2 
3filename odsout '.';
2 Bloc de code
DATA STEP Data
Explication :
Ce DATA STEP crée un jeu de données nommé 'my_data' en mémoire. Il lit les données fournies dans le bloc 'datalines', définissant trois variables : 'CATEGORY' (numérique), 'SERIES' (caractère, de la position 3 à 11) et 'AMOUNT' (numérique).
Copié !
1DATA my_data;
2INPUT CATEGORY SERIES $ 3-11 AMOUNT;
3DATALINES;
41 Series A 5
52 Series A 6.8
63 Series A 9.2
71 Series B 6.5
82 Series B 6.9
93 Series B 5.6
10;
11RUN;
3 Bloc de code
Configuration ODS et Titres
Explication :
Ce bloc configure le système de sortie ODS. Il ferme d'abord la destination LISTING par défaut, puis ouvre une destination HTML, nommant le fichier 'col3.htm' et lui appliquant un style 'htmlblue'. Les options `ods graphics` définissent le format de l'image (PNG), le nom du fichier image ('col3'), ainsi que ses dimensions et attributs. Des instructions `title` sont utilisées pour ajouter des titres personnalisés au graphique avec des styles spécifiques.
Copié !
1ODS LISTING CLOSE;
2ODS HTML path=odsout body="&name..htm"
3 (title="SGplot Stacked Bar")
4 style=htmlblue;
5 
6ods graphics / imagefmt=png imagename="&name"
7 width=800px height=600px noborder imagemap;
8 
9title1 color=gray33 ls=0.5 h=23pt "Stacked Bar";
10title2 color=gray33 ls=0.5 h=17pt "Compares the contribution of each value";
11title3 color=gray33 ls=0.5 h=17pt "to a total across categories";
4 Bloc de code
PROC SGPLOT
Explication :
Cette procédure `SGPLOT` génère un graphique à barres empilées à partir du jeu de données 'my_data'. Elle désactive la légende automatique et ajoute un remplissage. Les couleurs des barres sont définies via `styleattrs`. L'instruction `vbar` crée les barres verticales, empilant la variable 'AMOUNT' ('response') par 'SERIES' ('group') et en calculant la somme ('stat=sum'). Les axes Y et X sont personnalisés avec des labels, des valeurs et des styles spécifiques, y compris une grille pour l'axe Y.
Copié !
1PROC SGPLOT DATA=my_data noautolegend pad=(left=10% right=15%);
2styleattrs datacolors=(cx9999ff cx993366);
3vbar category / response=amount stat=sum
4 group=series barwidth=.6
5 outlineattrs=(color=black) nostatlabel;
6yaxis
7 values=(0 to 16 BY 4)
8 labelattrs=(size=16pt weight=bold color=gray33)
9 valueattrs=(size=16pt weight=bold color=gray33)
10 offsetmax=0 grid minor minorcount=3;
11xaxis
12 labelattrs=(size=16pt weight=bold color=gray33)
13 valueattrs=(size=16pt weight=bold color=gray33)
14 display=(noticks);
15RUN;
5 Bloc de code
Fermeture ODS
Explication :
Ce bloc final ferme la procédure en cours (`quit`), puis ferme explicitement la destination ODS HTML et réactive la destination LISTING, rétablissant ainsi l'environnement ODS par défaut.
Copié !
1QUIT;
2ODS HTML CLOSE;
3ODS 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.