Veröffentlicht am :
Reporting CREATION_INTERNE

Biorhythmus-Diagramm mit SAS/GRAPH

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Das Skript bereitet die grafische Umgebung (GOPTIONS) vor, berechnet die Zeitvariablen relativ zum aktuellen Datum und dem angegebenen Geburtsdatum (über die Makrovariable &birthdate), generiert die sinusförmigen Daten über einen DATA-Schritt und zeichnet die resultierenden Kurven mit PROC GPLOT. Es ist darauf ausgelegt, typischerweise als SAS© Stored Process ausgeführt zu werden (Verwendung von _webout).
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden algorithmisch im DATA-Schritt 'mydata' generiert, indem sinusförmige Funktionen angewendet werden, die auf der Differenz zwischen dem aktuellen Datum und dem Geburtsdatum basieren.

1 Codeblock
ODS & GOPTIONS
Erklärung :
Konfiguration der ODS HTML-Ausgabe (für Stored Processes angepasst) und Definition der globalen Grafikparameter (Größe, Schriftarten, Farben) mit GOPTIONS.
Kopiert!
1ods listing close;
2ods html body=_webout path=&_tmpcat (url=&_replay) rs=none style=minimal;
3 
4goptions cback=white;
5goptions characters;
6goptions device=png;
7goptions border;
8 
9goptions gunit=pct htitle=5.5 htext=3.5 ctext=gray33 ftitle="albany amt" ftext="albany amt";
10goptions xpixels=700 ypixels=375;
2 Codeblock
DATA STEP Data
Erklärung :
Konvertierung des Geburtsdatums (Text) in einen numerischen SAS-Wert und Berechnung des Analyse-Datumsbereichs (heute +/- 30 Tage). Speicherung dieser Werte in Makrovariablen.
Kopiert!
1DATA foo;
2bdate="&birthdate"d;
3call symput('bdate',bdate);
4today=today();
5call symput('today',today);
6startdate=today-30;
7enddate=today+30;
8call symput('startdate',startdate);
9call symput('enddate',enddate);
10RUN;
3 Codeblock
DATA STEP Data
Erklärung :
Generierung der Biorhythmusdaten. Für jeden Tag des Zeitraums werden sinusförmige Werte für die physischen (23 Tage), emotionalen (28 Tage) und intellektuellen (33 Tage) Zyklen berechnet.
Kopiert!
1DATA mydata;
2 LENGTH id $15;
3 FORMAT date date9.;
4 FORMAT value percentn7.0;
5 d2r=(atan(1)/45); /* degrees to radians conversion factor */
6 DO Date = &startdate to &enddate BY 1;
7 t=Date-&bdate; /* days since birth */
8 /* similar to value=sin(2*pi * t/23) ... */
9 Value = sin((t/23)*360*d2r); id='Physical'; OUTPUT;
10 Value = sin((t/28)*360*d2r); id='Emotional'; OUTPUT;
11 Value = sin((t/33)*360*d2r); id='Intellectual'; OUTPUT;
12 END;
13RUN;
4 Codeblock
PROC GPLOT
Erklärung :
Definition der grafischen Elemente (Titel, Achsen, Symbole, Legende) und Erstellung des linearen Biorhythmus-Diagramms mit PROC GPLOT.
Kopiert!
1title1 "Biorhythm Chart";
2title2 "For someone born &birthdate";
3 
4axis1 label=none order=(-1 to 1 BY .50) value=(color=gray33 h=3.5) minor=none offset=(0,0);
5axis2 label=none order=(&startdate to &enddate BY 30) value=(color=gray33 h=3.5) minor=(number=29) offset=(0,0);
6 
7symbol1 color=red i=join value=none width=2;
8symbol2 color=blue i=join value=none width=2;
9symbol3 color=cx00ff00 i=join value=none width=2;
10 
11legend1 label=none position=(bottom center) across=3;
12 
13PROC GPLOT DATA=mydata;
14plot Value*Date=id /
15 vref=(-.5 0 .5)
16 cvref=(graydd black graydd)
17 href=(&today)
18 chref=(black)
19 vaxis=axis1
20 haxis=axis2
21 legend=legend1
22 cframe=white
23 ;
24RUN;
25QUIT;
5 Codeblock
ODS CLOSE
Erklärung :
Schließen des ODS HTML-Ziels.
Kopiert!
1ods html close;
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.