h1

Mes 1ers pas avec ODS TAGSETS.EXCELXP (3/3)

mai 26, 2008

L’ODS TAGSETS.EXCELXP, alternative au PROC EXPORT, permet de créer des fichiers Excel à partir de données SAS. Afin de personnaliser ce fichier, nous avons vu dans un premier article la syntaxe de PROC REPORT. Puis dans un second article, le PROC TEMPLATE a permis de modifier des couleurs, polices et marges du document à imprimer. Pour ce dernier article sur « Mes premiers pas avec l’ODS TAGSETS.EXCELXP », il s’agit de voir les options de l’instruction ODS.

ods tagsets.excelxp file = ‘C:/excel/mon_nouveau_fichier.xls’
style = vero_xls
options (…);

1. Personaliser la feuille de calcul

1.1 Donner un nom à une feuille : pour personnaliser le nom de la feuille de calcul, il faut ajouter l’option SHEET_NAME=’Mon nom de feuille’.

ods tagsets.excelxp options (sheet_name=‘Mon nom de feuille’);

1.2 Figer la première ligne contenant les titres de colonnes : sous Excel, on peut figer les x premières lignes de sorte que quelque soit la ligne consultée, la ligne figée reste visible. Sur le même principe, la première ligne contenant le nom des colonnes peut être figé grâce à l’option FROZEN_HEADER=.

ods tagsets.excelxp options (frozen_headers = ‘Yes’);

1.3 Ajouter un filtre aux colonnes : sous Excel, un filtre est une petite flèche qui apparaît dans la première ligne d’une colonne donnée. En cliquant dessus, on voit apparaître toutes les valeurs prises par la colonne. L’utilisateur peut ainsi choisir de ne faire apparaître que les lignes ayant une valeur ou un groupe de valeurs données. Pour ajouter ce type de filtre à toutes les colonnes du fichier Excel avec ODS, il y a l’option AUTOFILTER=.

ods tagsets.excelxp options (autofilter = ‘All’);

1.4 Créer plusieurs feuilles dans un seul fichier Excel

Pour créer plusieurs feuilles dans un fichier Excel unique, il faut dans un premier temps, définir les données communes aux multiples feuilles : nom du fichier Excel et Style.

ods tagsets.excelxp file = ‘C:/excel/mon_nouveau_fichier.xls’
style = vero_xls;

Dans un deuxième temps, on actualise cette information pour chaque feuille en précisant les options SHEET_NAME .

ods tagsets.excelxp options (sheet_name = ‘Feuille 1’);
proc report…;
run;
ods tagsets.excelxp options (sheet_name = ‘Feuille 2’);
proc report…;
run;
ods tagsets.excelxp close;

2. Agir sur le document à imprimer

2.1 Faire les titres de colonnes sur toutes les pages : l’option ROW_REPEAT= va permettre de répéter le titre des colonnes sur chacune des pages à imprimer.

ods tagsets.excelxp options (row_repeat = ‘header’);

2.2 Modifier l’orientation de la page : par défaut l’orientation de la page à imprimer est orientée portrait (portrait). Pour changer en Paysage (landscape), il faut le préciser avec l’option ORIENTATION=.

ods tagsets.excelxp options (orientation = ‘landscape’);

Cette liste des options est loin d’être exhaustive. Vous pouvez vous reporter à la page du support SAS pour avoir la liste complète de options.

Références : la documentation sur les ODS TAGSETS.EXCELXP reste encore très limitée. Voici néanmoins quelques liens :

9 commentaires

  1. Un papier qui m’aura fait gagner de précieuses minutes, merci beaucoup ;-)

    A noter que sous SAS 9.1.3, il ne faut mettre le signe = après OPTIONS.

    ods tagsets.excelxp options (sheet_name = 'Feuille 1' sheet_interval = 'none'); fonctionne.

    ods tagsets.excelxp options = (sheet_name = 'Feuille 1' sheet_interval = 'none'); ne fonctionne pas.


  2. Bonjour,

    J’ai corrigé l’article. En effet il ne faut pas de signe égal après le mot OPTIONS.

    Par ailleurs, j’ai enlevé SHEET_INTERVAL de l’article car depuis la rédaction de ce papier, j’ai remarqué que cette option n’avait aucun effet sur mon résultat.

    Cordialement,

    Véronique


  3. […] Mes premiers pas avec ODS TAGSETS.EXCELXP (Parite 3/3) […]


  4. […] La référence SAS Blog pour se former au logiciel SAS « Extrait de “La semaine de 4 heures” En-tête et pied de page avec TAGSETS.EXCELXP juin 1, 2009 La syntaxe de l’ODS TAGSETS.EXCELXP permet de créer sous SAS un fichier lisible par Excel. Pour vous familiariser avec cette syntaxe, je vous invite à lire les articles : Mes premiers pas avec ODS TAGSETS.EXCELXP, partie 1, partie 2 et partie 3. […]


  5. Bonjour,

    J’applique cet article avec beaucoup de retard !

    Lorsque je teste les options, frozen_header = ‘Yes’ ne fonctionne pas alors que frozen_headers = ‘Yes’ fonctionne.

    Bonne journée et merci pour le site.

    Olivier.


  6. merci, c’est corrigé


  7. Bonjour,

    est-ce qu’il existe un moyen de sauter quelques lignes dans la page du fichier excel dans laquelle j’écris ? J’ai une ligne de titre déjà prête dans mon fichier .xls et je ne veux pas l’écraser, je désire écrire en dessous de celle-ci vec mon programme SAS.

    Merci.


  8. Bonjour,
    à l’inverse de la question précédente, j’aimerai ajouter un titre sur la première ligne dans mon fichier de sortie excel. mon fichier étant généré automatiquement a chaque exécution du code sas.

    merci


  9. Bonjour,
    je débute dans ods je voudrais savoir comment ressortir mes données sur excel sans que les tableaux soient grisés en foncé pas joli!
    Merci



Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s

%d blogueurs aiment cette page :