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

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Reprenons ici sur certains <strong>de</strong> ces éléments : La syntaxe générale sera donc :<br />

PROC TEMPLATE;<br />

DEFINE STYLE Chemin.Nomtemplate | Base.Template.Style ;<br />

PARENT=nom.du.template<strong>de</strong>styleparent;<br />

NOTES "commentaire";<br />

CLASS NomElementStyle <br />

;<br />

:::::<br />

STYLE NomElementStyle <br />

;<br />

:::::<br />

END;<br />

END;<br />

Parent= définit et enclenche le processus d’héritage suivant : tous les éléments du style parent sont copiés dans<br />

le style qui en dépend et y seront utilisés, à moins que le nouveau style ne possè<strong>de</strong> <strong>de</strong>s éléments <strong>de</strong> style qui<br />

prennent alors la préséance en écrasant (overri<strong>de</strong>) ceux <strong>de</strong>scendus <strong>de</strong> même nom.<br />

data classcop;set <strong>Sas</strong>help.class;run;<br />

ods path reset;<br />

proc template;<br />

<strong>de</strong>fine style Ks;<br />

parent=styles.statistical;<br />

/* vi<strong>de</strong> */<br />

end;<br />

run;<br />

ods html close;<br />

ods preferences;<br />

ods html<br />

file="d:\notes\test\HS0.htm"<br />

style=KS;<br />

ods select members;<br />

proc datasets ;<br />

contents lib=work;<br />

run;<br />

quit;<br />

ods html close;<br />

On copie quelque chose dans le work.<br />

Remise en état : situation par défaut <strong>de</strong>s entrepôts ouverts.<br />

Création du template à vi<strong>de</strong> pour tester<br />

l’héritage par rapport à statistical évitant ainsi le htmlblue courant ou le<br />

basic <strong>de</strong>fault.<br />

Ces <strong>de</strong>ux instructions nous permettent d’échapper au fonctionnement du<br />

style par défaut htmlblue et son écriture en continu dans la work sous 9.3<br />

C’est bien le parent Statistical dont on a hérité<br />

L’utilisation <strong>de</strong> From dans l’instruction style copiera tous les attributs <strong>de</strong> styles <strong>de</strong> cet élément du style parent<br />

vers le style enfant. Si, dans l’instruction style, il y a un NomElementStyle <strong>de</strong> même nom qu’un élément<br />

ascendant dans le template en cours <strong>de</strong> définition présent avec un From, l’élément <strong>de</strong> style enfant absorbe le<br />

contenu <strong>de</strong> l’élément <strong>de</strong> style parent, mais l’attribut enfant <strong>de</strong> même nom écrase (overri<strong>de</strong>) l’attribut parent.<br />

Si, par contre, il est défini sans From, alors cet élément écrase le contenu <strong>de</strong> l’élément <strong>de</strong> style Parent <strong>de</strong> même<br />

nom.<br />

proc template;<br />

<strong>de</strong>fine style Ks; parent=styles.<strong>de</strong>fault;<br />

style hea<strong>de</strong>r from hea<strong>de</strong>r /<br />

foreground=red ;<br />

style fonts from fonts /<br />

"docFont" = ("Times Roman, serif", 3);<br />

end;<br />

run;<br />

/* le style KS a été remplacé*/<br />

ods html close;<br />

ods preferences;<br />

ods html<br />

file="d:\notes\test\HS1.htm"<br />

style=KS;<br />

ods select members;<br />

proc datasets ;<br />

contents lib=work;<br />

run;quit;<br />

ods html close;<br />

On écrase l’ancien template KS car on réutilise le même nom <strong>de</strong><br />

template qui ira s’écrire au même endroit ;<br />

Son contenu est cependant modifié, car on définit un autre parent le<br />

basic styles.<strong>de</strong>fault.<br />

De plus, on a recours à la définition <strong>de</strong> <strong>de</strong>ux éléments <strong>de</strong> style avec<br />

from pour lesquels on déci<strong>de</strong> <strong>de</strong> contrecarrer le contenu <strong>de</strong> l’attribut<br />

Foreground et "docFont ".<br />

On retrouve bien ce styles.<strong>de</strong>fault dont KS a bien hérité mais avec les<br />

2 transformations :<br />

La police <strong>de</strong> l’en-tête <strong>de</strong> table en rouge<br />

La police et sa taille du corps du document changée<br />

Rem ods select members; a été utilisé pour avoir une seule sortie tabulaire autre que print,report,tabulate, régis autrement pour le style.<br />

38 <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!