24.11.2014 Views

Pratique de Sas Windows 9.2... Volume 1 - Ined

Pratique de Sas Windows 9.2... Volume 1 - Ined

Pratique de Sas Windows 9.2... Volume 1 - 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.

9.8 La <strong>de</strong>stination tagsets.excelxp<br />

Dans http://support.sas.com/rnd/base/ods/scratch/ods-tips.pdf la feuille mémento générale sur l’ODS,<br />

outre la <strong>de</strong>stination XML, qui sera vue dans le volume 2, nous croisons à nouveau la catégorie <strong>de</strong> template <strong>de</strong><br />

type tagsets déjà présenté dans le graphique <strong>de</strong> Cynthia Zen<strong>de</strong>r à la page 115.<br />

Ce type <strong>de</strong> template ne se <strong>de</strong>stine habituellement pas à l’édition ou la publication, mais procédant d’une autre<br />

manière (basée sur <strong>de</strong>s « events »), on produira généralement <strong>de</strong>s fichiers d’un autre type à balises/markup: voir<br />

par exemple en 2006 « The Beginners Gui<strong>de</strong> to ODS MARKUP: Don't Panic!» <strong>de</strong> Eric Gebhart<br />

http://www.nesug.org/proceedings/nesug06/io/io22.pdf .<br />

Le tagsets.ExcelXP, en particulier, a déjà une histoire et a été peaufiné au fil <strong>de</strong>s ans <strong>de</strong>puis 2002 : voir<br />

http://support.sas.com/rnd/base/ods/odsmarkup/pandp.html.<br />

Par ce tagset, <strong>Sas</strong> convertira un objet <strong>de</strong> sortie en fichier XML lisible par Excel et OpenOffice-Calc. Vous<br />

pourrez ainsi exporter directement, vers plusieurs feuilles dans un classeur, différents output objects non<br />

graphiques, et cela marche même sous Linux.<br />

Ce tagset s’enrichit d’options propres à Excel <strong>de</strong> telle sorte que la présentation <strong>de</strong> ce qui a été exporté dans<br />

Excel sera très soignée : pour les découvrir vous pourrez en tourner un à vi<strong>de</strong>.<br />

ods tagsets.ExcelXP file="d:\tabsas\xptag1.xml" style=ocean options(doc="help");<br />

ods tagsets.ExcelXP close;<br />

L’actuelle version du tagset est la 1.94 livrée avec la <strong>9.2.</strong>2, mais vous pouvez éventuellement pour <strong>de</strong>s questions<br />

<strong>de</strong> compatibilité en utiliser une plus ancienne ou celle qui « marchait » en 9.1.3 la version 1.86 d’avril 2008.<br />

Il suffit d’ouvrir le bon fichier très long en général au suffixe .tpl ou .sas ou .txt sur le site <strong>de</strong> <strong>Sas</strong> et <strong>de</strong><br />

l’exécuter dans la fenêtre programme. http://support.sas.com/rnd/base/ods/odsmarkup/in<strong>de</strong>x.html#download<br />

Aux <strong>de</strong>rnières nouvelles (juillet 2010), nous en sommes à la version 1.114.<br />

Ce tagset sera stocké dans l’entrepôt sasuser.templat et comme à l’exécution d’une instruction ods<br />

tagsets.ExcelXP, c’est d’abord ce magasin qui est consulté, cette version sera donc exécutée. En effet, on a<br />

par défaut un ods path sasuser.templat(update) sashelp.tmplmst(read);<br />

Vous auriez pu aussi ne faire qu’un appel temporaire à ce template une fois celui-ci stocké sur votre disque en<br />

insérant simplement %inclu<strong>de</strong> "d:\réserve\excltags.tpl";<br />

Mais, il aurait aussi été possible <strong>de</strong> se créer son propre entrepôt pour y accumuler ses futurs templates :<br />

libname xxx "d:\templib"<br />

ods path(prepend) xxx.templat(update);<br />

%inclu<strong>de</strong> "c:\myfiles\excltags.tpl";<br />

ods path(prepend) xxx.templat(read);<br />

*éventuellement en lecture pour se protéger ensuite prepend force à le mettre en première position;<br />

Comme j’ai utilisé personnellement pour notre test, la première solution, il sera nécessaire <strong>de</strong> passer un ods<br />

path verify ; pour pouvoir utiliser le tagsets 1.94 <strong>de</strong> la <strong>9.2.</strong>2 du sashelp.tmplmst, car la version 1.86 a été<br />

stockée dans le sasuser.templat<br />

Résumé visuel <strong>de</strong>s règles pour les chemins <strong>de</strong>s magasins<br />

libname mag "d:\ods92";*adresse <strong>de</strong> mon magasin <strong>de</strong> template ;<br />

ods path mag.templat(update) sashelp.tmplmst(read);<br />

ods path show;* 1. MAG.TEMPLAT(UPDATE) 2. SASHELP.TMPLMST(READ);<br />

ods path(append) sasuser.templat(read) ;<br />

ods path show;<br />

* 1. MAG.TEMPLAT(UPDATE) 2. SASHELP.TMPLMST(READ) 3. SASUSER.TEMPLAT(READ);<br />

ods path verify ;<br />

ods path show ;*1. SASHELP.TMPLMST(READ);<br />

ods path reset ;<br />

ods path show ;*1. SASUSER.TEMPLAT(UPDATE) 2. SASHELP.TMPLMST(READ);<br />

* il existe enfin aussi une option <strong>de</strong> path (remove) non utilisée ici.<br />

Nous voilà donc prêt à travailler avec votre bonne version <strong>de</strong> tagset.<br />

ods tagsets.ExcelXP file="d:\tabsas\xptag1.xml" style=ocean;<br />

proc univariate data=sashelp.orsales;<br />

var profit;run;<br />

ods tagsets.ExcelXP close;<br />

produira un classeur avec une feuille par objet tabulaire produit (voir ods trace du proc univariate).<br />

INED Wielki 170

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

Saved successfully!

Ooh no, something went wrong!