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.

15. Généralisation<br />

Il est évi<strong>de</strong>mment intéressant <strong>de</strong> rendre notre pyrami<strong>de</strong> utilisable ultérieurement et donc <strong>de</strong> s’affranchir<br />

du lieu où se trouve les fichiers, du nom <strong>de</strong> la table et du nom <strong>de</strong>s variables et éventuellement d’autres<br />

caractéristiques comme la légen<strong>de</strong>… Il faut donc retravailler le co<strong>de</strong> en prenant par exemple le<br />

modèle du graphique issu <strong>de</strong> la proc sg<strong>de</strong>sign ou le co<strong>de</strong> sauvegardé plus haut en point 13 :<br />

Pour construire le programme suivant :<br />

libname tpl "D:\My <strong>Sas</strong> Files\tpl";<br />

ods path tpl.sgd(update) <strong>Sas</strong>user.templat(read)<br />

<strong>Sas</strong>help.tmplmst(read);<br />

proc template;<br />

<strong>de</strong>fine statgraph sg<strong>de</strong>sign;<br />

dynamic _AGE _MAS _AGE2 _FEM _Title _Footnote _Labh<br />

_Labf;<br />

begingraph / <strong>de</strong>signwidth=681 <strong>de</strong>signheight=855;<br />

entrytitle halign=center _Title;<br />

entryfootnote halign=center _Footnote /<br />

textattrs=(family='Albany AMT' size=8 style=italic<br />

weight=normal );<br />

layout lattice /<br />

rowdatarange=data row2datarange=data<br />

columndatarange=data<br />

columns=2 rowgutter=10 columngutter=10<br />

columnweights=(0.5 0.5);<br />

layout overlay /<br />

xaxisopts=(reverse=true<br />

display=(LINE LABEL TICKVALUES) griddisplay=on<br />

label=( _Labh )<br />

labelattrs=(size=8 ) tickvalueattrs=(size=8)<br />

gridattrs=(color=CXC6C3C6 pattern=2 thickness=2)<br />

)<br />

yaxisopts=( display=(LINE ));<br />

barchart x=_AGE y=_MAS / name='FrH1999'<br />

legendlabel='Hommes'<br />

datatransparency=0.5 xaxis=X yaxis=Y<br />

barlabel=false<br />

orient=horizontal<br />

barwidth=1.0 clusterwidth=1.0;<br />

endlayout;<br />

layout overlay /<br />

xaxisopts=( reverse=false griddisplay=on<br />

label=( _Labf)<br />

labelattrs=(size=8 ) tickvalueattrs=(size=8 )<br />

gridattrs=(color=CXC6C3C6 pattern=2 thickness=2))<br />

yaxisopts=( reverse=false<br />

display=(TICKS LINE TICKVALUES)<br />

griddisplay=off tickvalueattrs=(size=8 ));<br />

barchart x=_AGE2 y=_FEM / name='FrF1999'<br />

legendlabel='Femmes'<br />

datatransparency=0.25 display=(FILL)<br />

barlabel=false<br />

orient=horizontal barwidth=1.0<br />

discreteoffset=-0.14<br />

groupdisplay=Stack clusterwidth=1.0<br />

fillattrs=GraphData2;<br />

endlayout;<br />

endlayout;<br />

endgraph;<br />

end;<br />

run;<br />

Précautions : pour sauvegar<strong>de</strong>r la<br />

création <strong>de</strong> son template sg<strong>de</strong>sign <strong>de</strong><br />

type statgraph dans un magasin<br />

personnel tpl.sgd<br />

On rajoute ici <strong>de</strong>s macrovariables <strong>de</strong><br />

type template pour pouvoir les passer<br />

en dynamique dans la procédure qui<br />

suit.<br />

Au passage, nous retrouvons les<br />

éléments balancés :<br />

Begingraph/Endgraph<br />

Layout Lattice/endlayout et<br />

2 Layout Overlay.<br />

Dans le premier, l’axe <strong>de</strong>s X est <strong>de</strong> type<br />

reverse=true pour <strong>de</strong>ssiner vers la<br />

gauche avec une vue sur un barchart à<br />

orientation horizontale avec <strong>de</strong>s lignes<br />

tracées par graduations (grid).<br />

Les autres autres mots-clé spécifient<br />

<strong>de</strong>s détails (épaisseur, couleur,taille..en<br />

pixels.). L’axe Y (vertical en fait) se<br />

limitera <strong>de</strong> ce côté à une ligne.<br />

Dans la forme barchart, on affecte les<br />

valeurs aux axes et on ne <strong>de</strong>man<strong>de</strong> pas<br />

barlabel=true qui provoquerait<br />

.<br />

Le barwidth=1 permet d’avoir du tracé<br />

plein. Pour le reste voir Chap. 16 du<br />

manuel « <strong>Sas</strong> 9.3 GTL Reference ».<br />

Pour le graphique <strong>de</strong>s femmes à droite,<br />

l’axe <strong>de</strong>s X ne sera pas reverse,<br />

comportera <strong>de</strong>s lignes <strong>de</strong> références.<br />

L’axe <strong>de</strong>s Y (vertical) comprendra par<br />

contre, la graduation, les valeurs et la<br />

ligne en sa base présentée<br />

verticalement <strong>de</strong> par l’option du<br />

barchart.<br />

Ceci apparaîtra donc au centre !<br />

Une fois précisées, les macrovariables<br />

pour les axes x et y, l’instruction<br />

barchart sera réglée sur un remplissage<br />

avec une transparence modifiée et<br />

d’autres réglages d’apparence auxquels<br />

on ne touchera pas tant qu’on n’est pas<br />

<strong>de</strong>venu spécialiste du GTL.<br />

Rem : on ne peut toucher aux name qui<br />

font partie d’une définition volontaire<br />

décidée au moment <strong>de</strong> la construction<br />

<strong>de</strong> modèle.<br />

119 INED Service Informatique Wielki

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

Saved successfully!

Ooh no, something went wrong!