Das Skript beginnt mit der Definition einer Makrovariable 'name' und eines Filerefs 'odsout'. Anschließend wird ein Datensatz namens 'my_data' aus Inline-Daten (Datalines) erstellt. Eine PROC SQL wird verwendet, um dem Datensatz eine Spalte 'bartotal' hinzuzufügen, die die Summe von 'amount' pro 'category' darstellt. Ein zweiter DATA STEP berechnet den 'catpct' (Prozentsatz jedes 'amount' im Verhältnis zum 'bartotal') und formatiert diese neue Variable als Prozentsatz. Schließlich werden die ODS-Optionen für die HTML-Ausgabe konfiguriert, die Diagrammtitel definiert und PROC SGPLOT verwendet, um ein gestapeltes vertikales Balkendiagramm zu erstellen. Die wichtigsten SGPLOT-Optionen umfassen 'response=catpct', 'group=series' und 'dataskin=sheen' für den 3D-Effekt.
Datenanalyse
Type : CREATION_INTERNE
Der Datensatz 'my_data' wird vollständig am Anfang des Skripts unter Verwendung der DATALINES-Methode erstellt. Es werden keine externen Daten oder SASHELP-Bibliotheken als ursprüngliche Quelle verwendet.
1 Codeblock
MACRO/GLOBAL
Erklärung : Definiert die Makrovariable 'name' als 'col6', die zum Benennen der HTML-Ausgabedatei und des Bildes verwendet wird. 'filename odsout '.' ' leitet die ODS-Ausgabe in das aktuelle Arbeitsverzeichnis.
Kopiert!
%let name=col6;
filename odsout '.';
1
%let name=col6;
2
filename odsout '.';
2 Codeblock
DATA STEP Data
Erklärung : Erstellt den Datensatz 'my_data' mit den Variablen CATEGORY, SERIES (Zeichen) und AMOUNT (numerisch) durch Lesen der über die DATALINES-Anweisung bereitgestellten Daten.
Kopiert!
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 Codeblock
PROC SQL
Erklärung : Ändert den Datensatz 'my_data' durch Hinzufügen einer neuen Spalte 'bartotal'. Diese Spalte enthält die Summe von 'amount' für jede 'category', berechnet durch eine SQL-Aggregation.
Kopiert!
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 Codeblock
DATA STEP
Erklärung : Ein zweiter DATA STEP, der den Datensatz 'my_data' liest, den Prozentsatz 'catpct' von 'amount' im Verhältnis zu 'bartotal' für jede Beobachtung berechnet und dieser neuen Variablen ein Prozentformat zuweist.
Kopiert!
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 Codeblock
ODS/OPTIONS
Erklärung : Schließt die Standard-LISTING-Ausgabe. Öffnet ein ODS HTML-Ziel, wobei der Ausgabepfad, der Dateiname ('col6.htm'), ein Titel für die HTML-Seite und der Stil 'htmlblue' angegeben werden. Konfiguriert anschließend die ODS-Grafikoptionen, um PNG-Bilder mit einer bestimmten Größe, ohne Rahmen und mit einer Image Map zu generieren. Schließlich werden zwei Titel für das Diagramm mit Farb-, Größen- und Stileigenschaften definiert.
title2 color=gray33 ls=0.5 h=17pt "With 3D Shading";
6 Codeblock
PROC SGPLOT
Erklärung : Verwendet PROC SGPLOT, um ein gestapeltes Balkendiagramm zu erstellen. Die Balken werden durch 'category' definiert und nach 'series' gestapelt, wobei 'catpct' die Antwortvariable ist. Die Option 'dataskin=sheen' fügt einen 3D-Effekt hinzu. Stil, Farben, Beschriftungen und Achsenattribute werden konfiguriert, um das Erscheinungsbild des Diagramms zu verbessern. Nach der Ausführung wird das ODS HTML-Ziel geschlossen und die LISTING-Ausgabe wieder geöffnet.
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;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.
SAS und alle anderen Produkt- oder Dienstleistungsnamen von SAS Institute Inc. sind eingetragene Marken oder Marken von SAS Institute Inc. in den USA und anderen Ländern. ® zeigt die Registrierung in den USA an. WeAreCAS ist eine unabhängige Community-Site und nicht mit SAS Institute Inc. verbunden.
Diese Website verwendet technische und analytische Cookies, um Ihre Erfahrung zu verbessern.
Mehr erfahren.