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 27/06/2011, 16h19   #1
Futur Membre du Club
 
Inscription : août 2010
Messages : 28
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 28
Points : 18
Points : 18
Par défaut ods TAGSETS.EXCELXP format date

Bonjour,

Pour exporter des bases de données SAS sous format Excel, j'utilise la procédure ods TAGSETS.EXCELXP (je n'ai pas le module permettant d'utiliser la proc export). Certaines variables sont des dates, ainsi dans une procédure proc print, j'utilise la fonction TAGATTR avec comme format dd/mm/yyyy.

Et cela marche parfaitement.

Néanmoins lors que l'on ouvre le classeur Excel et que l'on souhaite réaliser un tri personnalisé sur ces variables date (par exemple > au 01/01/2010) cela ne fonctionne pas et ce malgré le fait que la variable possède bien un format date.

Auriez-vous des solutions pour contourner ce problème (autre que de convertir les dates SAS en date Excel en multipliant par 86400) ?

Merci d'avance.
ddijoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/06/2011, 16h14   #2
Futur Membre du Club
 
Inscription : août 2010
Messages : 28
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 28
Points : 18
Points : 18
Ps : petite précision.
La solution que j'avais trouvé sur Internet était de mutiplier les dates par 86400 et d'utiliser le format e8601dt.
Puis ensuite dans la procédure proc print d'utiliser la fonction
Code :
style (DATA)={tagattr='type:DateTime dormat :mm/dd/yy;@'};
par exemple
ddijoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/06/2011, 14h57   #3
Futur Membre du Club
 
Inscription : août 2010
Messages : 28
Détails du profil
Informations forums :
Inscription : août 2010
Messages : 28
Points : 18
Points : 18
Solution temporaire trouvée : passer par un proc report.

Code :
1
2
3
4
5
6
7
8
9
proc report DATA=table1;
COLUMN var1 date1 date2;
define var1/'VARIABLE 1';
define date1/ noprint;
define date2/ computed 'DATE 2' style(COLUMN)=[TAGATTR="format:dd/mm/yyyy"] ;
compute date2;
date2=_c2_+ 21916;
endcomp;
run;
Mais c'est un peu fastidieux.

Si vous avez d'autres idées. Je suis toujours preneur.
ddijoux est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h59.


 
 
 
 
Partenaires

Hébergement Web