Pratique de Sas Windows ...9.3 Volume 2 - Ined
Pratique de Sas Windows ...9.3 Volume 2 - Ined
Pratique de Sas Windows ...9.3 Volume 2 - Ined
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Avant d’ouvrir ce programme <strong>Sas</strong> sauvegardé, vous <strong>de</strong>vez prendre <strong>de</strong>s décisions, quant à votre contexte <strong>de</strong><br />
travail en ods. De plus le co<strong>de</strong> récupéré ne comporte pas le tout début proc template ; et le run; final.<br />
• Soit faire tout en temporaire dans la work sans contrôle et, donc avec écriture du template modifié dans<br />
l’entrepôt <strong>Sas</strong>user.templat, tout en n’oubliant point <strong>de</strong> le nettoyer après usage pour ne pas l’encombrer<br />
par le programme suivant. Et à la fin <strong>de</strong> votre travail, vous ne détruirez que ce template modifié dans le<br />
magasin/itemstore implicitement désigné en mo<strong>de</strong> update<br />
proc template ;<br />
<strong>de</strong>lete stat.lifetest.graphics.productlimitsurvival;<br />
run;<br />
Si, par contre, vous passez le programme qui suit, vous supprimerez tout votre entrepôt en faisant table<br />
rase <strong>de</strong> ce que vous y avez déposé d’autre :<br />
ods path <strong>Sas</strong>help.tmplmst(read);<br />
proc datasets library=<strong>Sas</strong>user nolist;<br />
<strong>de</strong>lete templat(memtype=itemstor);<br />
run;<br />
ods path <strong>Sas</strong>user.templat(update) <strong>Sas</strong>help.tmplmst(read);*recréation à vi<strong>de</strong>;<br />
Une autre façon <strong>de</strong> ne nettoyer qu’une partie du <strong>Sas</strong>user.templat serait <strong>de</strong> passer ce co<strong>de</strong>, qui <strong>de</strong> plus<br />
contrôle le magasin touché:<br />
proc template ; <strong>de</strong>lete stat /store=<strong>Sas</strong>user.templat; run;<br />
Tout ce qui était stocké dans le casier/templatestore Stat aura été effacé, mais par exemple pas votre<br />
tagsets.Excelxp qui se trouve dans un autre casier.<br />
• Soit maîtriser les lieux <strong>de</strong>s magasins/entrepôts, car vous vous en resservirez : c’est le choix fait ici.<br />
Comme j’ai l’habitu<strong>de</strong> <strong>de</strong> templéter dans un lieu qui m’est propre, j’établis donc ce cadre <strong>de</strong> travail<br />
libname tpl "D:\My <strong>Sas</strong> Files\tpl";<br />
ods path tpl.modtpl(update) <strong>Sas</strong>user.templat(read) <strong>Sas</strong>help.tmplmst(read);<br />
c’est à dire que le sous-repertoire tpl dans My <strong>Sas</strong> Files va récupérer obligatoirement toute soumission<br />
<strong>de</strong> template dans un magasin <strong>de</strong> nom modtpl.<br />
Second commentaire sur le co<strong>de</strong> : je suis <strong>de</strong>vant du GTL et le graphique est donc encadré par un begingraph<br />
/ endgraph. Je repère ensuite, un genre <strong>de</strong> syntaxe if (qqch) /else/ endif et je découvre qu’il y a, en fait,<br />
<strong>de</strong>ux gran<strong>de</strong>s boucles liées à un test sur NSTRATA=1 que je discerne comme réservé pour le cas où il n’y<br />
aurait qu’une strate.<br />
Allant donc vers la boucle else correspondante, je tombe très vite sur le layout overlay / endlayout nous<br />
concernant (layout overlay ≈ éléments superposés)<br />
Me saute aux yeux la ligne à modifier celle marquée et je remplace les valeurs initiales par un marquage<br />
détaillé <strong>de</strong>s graduations/tick entre .8 et 1.<br />
C’est la seule modification apportée !<br />
Curieux, je tente ensuite <strong>de</strong> comprendre l’architecture interne <strong>de</strong>s tracés <strong>de</strong>mandés et reconnait que, suite à ma<br />
<strong>de</strong>man<strong>de</strong> <strong>de</strong> Confi<strong>de</strong>nce Bands (CB dont la définition par défaut est le Hal-Wellner), c’est bien le test PLOTHW<br />
qui enclenchera un bandplot autour d’un stepplot qui s’exécutera lui dans tous les cas ainsi que l’élément<br />
discretelegend qui tentera <strong>de</strong> placer la légen<strong>de</strong> adéquate (dans un encadré layout grid<strong>de</strong>d / endlayout<br />
layout grid<strong>de</strong>d ≈ éléments juxtaposés avec espaces adaptables) suite aux tests successifs sur PLOTCENSORED et<br />
PLOTTEST.<br />
Rem : Il existe un troisième type <strong>de</strong> motif/layout layout lattice ≈ éléments juxtaposés avec espaces i<strong>de</strong>ntiques.<br />
L’analyse du co<strong>de</strong> <strong>de</strong> chacune <strong>de</strong> ces parties montre maintenant clairement <strong>de</strong>s options appliquées et que nous<br />
pourrions changer : le symbole du marqueur, <strong>de</strong>s libellés, <strong>de</strong>s tailles etc.<br />
Pour cette première excursion poussée dans l’ods graphics lié à une procédure, ce que nous avons fait est assez<br />
simple. Mais cela <strong>de</strong>man<strong>de</strong> une connaissance du co<strong>de</strong> <strong>de</strong> la procédure et <strong>de</strong> ses variantes possibles permettant <strong>de</strong><br />
naviguer dans la compréhension du co<strong>de</strong> détaillé.<br />
132 <strong>Pratique</strong> <strong>de</strong> <strong>Sas</strong> windows ….93 <strong>Volume</strong> 2 et Coll.