24.04.2014 Views

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

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!