Les données sont générées algorithmiquement dans l'étape DATA 'mydata' en appliquant des fonctions sinusoïdales basées sur la différence entre la date courante et la date de naissance.
1 Bloc de code
ODS & GOPTIONS
Explication : Configuration de la sortie ODS HTML (adaptée aux Stored Processes) et définition des paramètres globaux du graphique (taille, polices, couleurs) avec GOPTIONS.
Explication : Conversion de la date de naissance (texte) en valeur numérique SAS et calcul de la plage de dates d'analyse (aujourd'hui +/- 30 jours). Stockage de ces valeurs dans des macro-variables.
Explication : Génération des données de biorythme. Pour chaque jour de la période, calcul des valeurs sinusoïdales pour les cycles physique (23 jours), émotionnel (28 jours) et intellectuel (33 jours).
Copié !
data mydata;
length id $15;
format date date9.;
format value percentn7.0;
d2r=(atan(1)/45); /* degrees to radians conversion factor */
do Date = &startdate to &enddate by 1;
t=Date-&bdate; /* days since birth */
/* similar to value=sin(2*pi * t/23) ... */
Value = sin((t/23)*360*d2r); id='Physical'; output;
Value = sin((t/28)*360*d2r); id='Emotional'; output;
Value = sin((t/33)*360*d2r); id='Intellectual'; output;
end;
run;
1
DATA 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 BY1;
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;
13
RUN;
4 Bloc de code
PROC GPLOT
Explication : Définition des éléments graphiques (titres, axes, symboles, légende) et création du graphique linéaire des biorythmes avec PROC GPLOT.
Explication : Fermeture de la destination ODS HTML.
Copié !
ods html close;
1
ods html close;
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.
« La création d'un graphique de biorythme illustre parfaitement la capacité de SAS à transformer des concepts mathématiques en tableaux de bord visuels dynamiques. La clé ici réside dans la précision du calcul trigonométrique au sein de l'étape DATA : l'utilisation du facteur de conversion d2r (degrés vers radians) permet de projeter les cycles physiques, émotionnels et intellectuels sous forme d'ondes sinusoïdales lissées. Pour un rendu professionnel en mode Web (Stored Process), l'astuce consiste à coupler les GOPTIONS (définition des pixels et de la police Albany AMT) avec des axes rigoureusement formatés (AXIS1 et AXIS2). L'ajout de références horizontales (VREF) et d'une ligne verticale pour la date du jour (HREF) transforme une simple courbe en un véritable outil d'aide à la décision temporelle. »
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.