Précédent   Forum des professionnels en informatique > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > ODS et reporting
ODS et reporting Forum d'entraide sur les fonctionnalités de reporting de SAS : gérer les sorties et graphiques de SAS
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/02/2011, 10h46   #1
Membre habitué
 
Inscription : janvier 2005
Messages : 527
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 527
Points : 134
Points : 134
Par défaut sheet interval= bygroup: le nom n'apparait pas

Bonjour,

Je souhaite exporter en plusieurs onglets excel l'output d'une proc print. Pour cela, j'utilise l'options sheet_name='none' et sheet_interval='bygroup' sachant que ma proc print est by lbcd.

Je pensais obtenir comme noms d'onglets: lbcd=xxx, lbcd=yyy, lbcd=zzz
Or, j'obtiens bien un onglet différent by lbcd mais les noms d'onglets sont Table 1-Print, Table 2-Print, Table 3-Print.

Je suis sous SAS 9.2 mais je ne connais pas la version du tagset excelxp utilisé.

Me manque t il une option dans mon tagset ?

Merci

Code :
1
2
3
4
5
6
7
8
9
ods listing close;
ods tagsets.excelxp file="%sysfunc(pathname(MISC))/Ranges.xls" options (absolute_column_width='10' sheet_name='none' sheet_interval='bygroup');
proc print DATA=ds noobs;
	BY lbcd;
	id lbcd; /* c'est juste pour que ça s'affiche, dès que j'arrive à le faire apparaitre dans le nom d'onglet, je le supprime */
	var aged lblo lbhi F M Total;
run;
quit;
ods tagsets.excelxp close;
debdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 10h58   #2
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
De mon côté (Tagset v1.94) je n'ai pas de souci : mes onglets s'appellent bien SEX=F et SEX=M comme prévu.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
ODS LISTING CLOSE ;
PROC SORT DATA=sashelp.class OUT=work.class ;
  BY sex ;
RUN ;
ODS TAGSETS.EXCELXP FILE="c:\temp\debdev.xls" 
         options (absolute_column_width='10' sheet_interval='bygroup') ;
PROC PRINT DATA=work.class ;
  VAR name age weight height ;
  BY sex ;
RUN ;
ODS _ALL_ CLOSE ;
ODS LISTING ;
Pour connaître la version de ton Tagset, on la voit dans la Log quand on exécute le code.
Citation:
NOTE: This is the Excel XP tagset (Compatible with SAS 9.1.3 and above, v1.94, 09/09/12).
Add options(doc='help') to the ods statement for more information.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 11h52   #3
Membre habitué
 
Inscription : janvier 2005
Messages : 527
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 527
Points : 134
Points : 134
Encore merci Olivier pour ton aide
Je passe d'un topic à l'autre car je travaille sur mes 2 projets en meme temps (pendant l'execution du code de l'un, j'ai le temps de travailler sur le 2ème...)

La version de mon tagset est la meme que la tienne.

Quand j'execute ton code, ça ne fonctionne pas:
- j'ai un seul onglet mais 2 tableaux (tableau fille et tableau garçon) séparés par une ligne vide
- l'onglet n'a pas de nom (vide)

Si j'ajoute "id sex" dans la proc print, ça ne fonctionne pas non plus mais:
- j'ai les 2 onglets
- les 2 onglets ont les mauvais titres (Table 1-Print, Table 2-Print)

A noter que j'ai testé avec id et sans id sur mon code, et j'obtiens la meme chose (2 onglets avec les mauvais titres vs 1 onglet sans titre).

Il y a peut etre une option définie lors de l'autoexec qui fait que je ne peux pas utiliser cette option de tagset excelxp.

Si vous avez une idée...

Merci
debdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 12h05   #4
Expert Confirmé
 
Avatar de olivier.decourt
 
Homme Olivier Decourt
Formateur en informatique
Inscription : avril 2008
Messages : 1 467
Détails du profil
Informations personnelles :
Nom : Homme Olivier Decourt
Âge : 34
Localisation : France

Informations professionnelles :
Activité : Formateur en informatique
Secteur : Conseil

Informations forums :
Inscription : avril 2008
Messages : 1 467
Points : 2 823
Points : 2 823
Citation:
Il y a peut etre une option définie lors de l'autoexec qui fait que je ne peux pas utiliser cette option de tagset excelxp.
Autre piste : la version d'Excel qui ouvre le classeur. Chez moi, c'est 2003.
olivier.decourt est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 12h14   #5
Membre habitué
 
Inscription : janvier 2005
Messages : 527
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 527
Points : 134
Points : 134
idem, 2003.

bon, c'est pas bien grave. je vais laisser id, comme ça, non seulement ce sera sur plusieurs onglets, mais en plus le nom correspondant apparaitra dans une colonne.

merci en tout cas de t'etre penché sur le problème
debdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 12h45   #6
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Salut DebDev,
Dis-moi si le code ci-dessous résoud ton problème:

Code :
1
2
3
4
5
6
7
8
9
10
11
12
ods tagsets.excelxp file='multisheet.xls' file="C:\print.xls" style=statistical
      options( sheet_interval='bygroup'  absolute_column_width='10');
 
  proc sort DATA=sashelp.class out=class;
     BY sex;
  run;
 
  proc print DATA=class noobs;
     BY sex;
  run;
 
  ods tagsets.excelxp close;
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/02/2011, 13h19   #7
Rédacteur
 
Homme Stéphane
Consultant et formateur SAS et Cognos
Inscription : avril 2009
Messages : 1 791
Détails du profil
Informations personnelles :
Nom : Homme Stéphane
Localisation : France, Yvelines (Île de France)

Informations professionnelles :
Activité : Consultant et formateur SAS et Cognos
Secteur : Conseil

Informations forums :
Inscription : avril 2009
Messages : 1 791
Points : 4 012
Points : 4 012
De mon côté, sas 9.1 ou sas 9.2 (je pensais que le problème venait de là) + office 2007 + tagsets 1.94 ramènent les mêmes résultats qu'Olivier.

es-tu en windows 64 bits ?

essaie avec le dernier tagsets peut-être... http://support.sas.com/rnd/base/ods/...p/excltags.tpl
__________________
N'oubliez pas de cliquer sur lorsque votre problème est réglé !

Moteur de recherche dans les papiers SAS
datametric est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 11h21   #8
Membre habitué
 
Inscription : janvier 2005
Messages : 527
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 527
Points : 134
Points : 134
Bonjour à tous,

@MEGAMIND2: oui ton code fonctionne
mais j'aimerais comprendre: c'est l'option style=statistical qui résoud le problème ? pourquoi un meme code ne fonctionne pas chez moi alors qu'il fonctionne chez Olivier et datametric ?

@datametric: a priori je suis en windows 32 bits (vu que ce n'est pas écrit 64, j'en ai conclu que c'était 32) xp pro. mais je travaille en remote via un serveur citrix.

Un grand merci à tous pour votre aide.
debdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 11h48   #9
Membre Expert
 
Avatar de MEGAMIND2
 
Homme Brice Beare
Paris
Inscription : janvier 2011
Messages : 956
Détails du profil
Informations personnelles :
Nom : Homme Brice Beare
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Paris

Informations forums :
Inscription : janvier 2011
Messages : 956
Points : 1 366
Points : 1 366
Salut,
C'est qui fait la différence, l'option stastistical c'est juste pour le fond jaune je pense.
Par contre le programme de Olivier marche sur V9.2 log (log:NOTE: This is the Excel XP tagset (Compatible with SAS 9.1.3 and above, v1.94, 09/09/12). Add
options(doc='help') to the ods statement for more information.) mais pas sur V9.1 dont j'ai pas noté la version Excel XP tagset ou un truc comme ça!

Rassures-toi, tu n'étais pas seul. Donc c'est bien un problème de version !
MEGAMIND2 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/02/2011, 12h45   #10
Membre habitué
 
Inscription : janvier 2005
Messages : 527
Détails du profil
Informations forums :
Inscription : janvier 2005
Messages : 527
Points : 134
Points : 134
Ok.
Et bien, merci à toi.
Bonne journée !
debdev est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 13h45.


 
 
 
 
Partenaires

Hébergement Web