IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ODS et reporting Discussion :

Message tagset excelxp


Sujet :

ODS et reporting

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 30
    Points
    30
    Par défaut Message tagset excelxp
    Bonjour,

    Est ce que quelqu'un a trouvé la solution pour ne pas avoir de message d'avertissement à l'ouverture d'un fichier excel
    avec le tagset XLP (excelxp)?
    ( sachant que c'est une fichier xml qui est en fait generé..)

  2. #2
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Salut,
    Pourrais-tu à l'occasion mettre ici le message en question?

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    Bonjour,

    merci Stackware !

    Voilà en lançant se code:
    (renseigner le chemin de sortie au préalable)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
     
     
    /*renseigner le chemin du fichier excel */
    %let path= chemin à renseigner /test.xls ;
     
    data test ; 
    input message $15.;
    cards; 
    Hello world
    ;
    run;
     
     
    ods tagsets.excelxp file="&path." 
    options(zoom='80' sheet_name=' test ' autofit_height='yes');
     
     
    proc report data=test nowindows split='*' ;
     
         column  message;
         define  message         	/ display   'message'  WIDTH=20 flow center  style={just=c};
     
     
    compute before _page_ / center ;
    line 'TEST' ;
    endcomp; 
    run; quit;
     
    ods tagsets.excelxp close;
    ods listing;

    vous aurez ce message :
    Le format du fichier que vous tentez d'ouvrir est différent de celui spécifié par l’extension de fichier.....

  4. #4
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Bonjour,
    Ça me rappelle un peu le cas de quelqu'un qui passerait d'une exécution locale Windows vers un serveur Linux/Unix pour faire la même chose. Assez récemment SAS a mis au point les bibliothèques nécessaires pour faire des fichiers Excel, mais auparavant il fallait un PC File Server (qui traduisait les fichiers Excel issus d'Unix/Linux) en format utilisable par un pc Win7/64 avec Excel 2010 ou 2013 dessus.
    Suis-je loin ou tous près?
    [edit] Colle aussi la log du programme stp [/edit]
    [re-Edit] plusieurs cas se présentent pour ton problème. Il va falloir me dire la version de SAS, la version de EGuide (si utilisé), et si le fichier qui sort est gros ou pas (nb de lignes) [/Re-Edit]

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Juillet 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2014
    Messages : 42
    Points : 30
    Points
    30
    Par défaut
    Il y a du vrai dans ce que tu dit !
    Mais je sais pas si c'est un hasard.

    voici la log, c'est sous EG 5.1 avec du SAS 9.3 et Windows 7.
    Le serveur est installé sur une machine sous linux.

    J'ai cru comprendre que les fichiers excel généré par ce tagset étaient en fait des fichiers XML, mais que tu peux lire sous excel, d'ou le message d'avertissement.


    voici la log :
    1 Le Système SAS 13:56 Wednesday, March 4, 2015

    1 ;*';*";*/;quit;run;
    2 OPTIONS PAGENO=MIN;
    3 %LET _CLIENTTASKLABEL='Programme';
    4 %LET _CLIENTPROJECTPATH='';
    5 %LET _CLIENTPROJECTNAME='';
    6 %LET _SASPROGRAMFILE=;
    7
    8 ODS _ALL_ CLOSE;
    9 OPTIONS DEV=ACTIVEX;
    10 GOPTIONS XPIXELS=0 YPIXELS=0;
    11
    12 GOPTIONS ACCESSIBLE;
    13
    14 /*renseigner le chemin du fichier excel */
    15 %let path=/sas/rep1/test.xls ;
    16
    17 data test ;
    18 input message $15.;
    19 cards;

    NOTE: The data set WORK.TEST has 1 observations and 1 variables.
    NOTE: L'étape DATA used (Total process time):
    real time 0.00 secondes
    cpu time 0.00 secondes

    21 ;

    22 run;
    23
    24
    25 ods tagsets.excelxp file="&path."
    26 options(zoom='80' sheet_name=' test ' autofit_height='yes');
    NOTE: Writing TAGSETS.EXCELXP Body file: /sas/rep1/test.xls
    NOTE: This is the Excel XP tagset (Compatible with SAS 9.1.3 and above, v1.130, 05/01/2011). Add options(doc='help') to the ods
    statement for more information.
    27
    28
    29 proc report data=test nowindows split='*' ;
    30
    31 column message;
    32 define message / display 'message' WIDTH=20 flow center style={just=c};
    33
    34
    35 compute before _page_ / center ;
    36 line 'TEST' ;
    37 endcomp;
    38 run;

    38 ! quit;
    NOTE: There were 1 observations read from the data set WORK.TEST.
    NOTE: PROCEDURE REPORT used (Total process time):
    real time 0.42 secondes
    cpu time 0.02 secondes


    39
    40 ods tagsets.excelxp close;
    41 ods listing;
    2 Le Système SAS 13:56 Wednesday, March 4, 2015

    42
    43 GOPTIONS NOACCESSIBLE;
    44 %LET _CLIENTTASKLABEL=;
    45 %LET _CLIENTPROJECTPATH=;
    46 %LET _CLIENTPROJECTNAME=;
    47 %LET _SASPROGRAMFILE=;
    48
    49 ;*';*";*/;quit;run;
    50 ODS _ALL_ CLOSE;
    51
    52
    53 QUIT; RUN;


  6. #6
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    J'ai cru comprendre que les fichiers excel généré par ce tagset étaient en fait des fichiers XML, mais que tu peux lire sous excel, d'ou le message d'avertissement.
    Oui mais Excel attend un vrai .XLS ou un .XLSX d'où le message d'avertissement ( ce message n'a absolument rien à voir avec SAS ).

    Essaie une des solution suivantes:

    1- Mettre /sas/rep1/test.xml au lieu de /sas/rep1/test.xls

    2- Dans Excel : décocher la vérificateur de comptabilité.

    Juste une petite précision: Les fichiers créés par l'ODS dans une session SEG s'ouvrent par Excel en LOCAL à ne pas confondre avec la proc Excel ou import et donc le module PCFILE.

    PS: Je n'ai pas encore tester ces solutions.
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  7. #7
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    J'ai SAS Note pour toi.
    Sinon, il y a le pcfile server (quand on a un sas/access to pc files) quand on discute avec un serveur Linux : La doc.
    Voilà voilà

  8. #8
    Membre actif
    Inscrit en
    Juillet 2010
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 199
    Points : 214
    Points
    214
    Par défaut
    Bonjour,

    Pour ne plus avoir ce message à l'ouverture du fichier, j'ai modifié l'extension .xls en .xml.
    Le fichier est plus volumineux.
    Il faut l'enregistrer en xlsx ensuite.

  9. #9
    Membre éprouvé
    Avatar de Stackware
    Homme Profil pro
    ArchiDuc de la Sasserie
    Inscrit en
    Juillet 2013
    Messages
    439
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : ArchiDuc de la Sasserie
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2013
    Messages : 439
    Points : 1 017
    Points
    1 017
    Billets dans le blog
    4
    Par défaut
    Bon ben la recherche a payé : le souci
    Et bien sûr l'explication/résolution.

    Il est à noter que les réponses ci-dessus sont valables, je te livre juste les threads officiels pour justifier auprès de ton responsable le temps perdu

  10. #10
    Modérateur

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2011
    Messages
    1 624
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2011
    Messages : 1 624
    Points : 3 402
    Points
    3 402
    Par défaut
    Citation Envoyé par Stackware Voir le message
    J'ai SAS Note pour toi.
    Sinon, il y a le pcfile server (quand on a un sas/access to pc files) quand on discute avec un serveur Linux : La doc.
    Voilà voilà
    Sauf erreur de ma part le Output Delivery System ( ODS) est inclu dans SAS base et le lien parle de la PROC IMPORT, EXPORT. Maintenant si t'as une DOC officielle qui dit que l'ODS nécessite SAS PCFILE ou autre module pour son fonctionnement, je suis preneur ( je dormirai peut être moins bête ce soir) .
    N'oubliez pas de consulter les FAQ SAS et les cours et tutoriels SAS
    N'oubliez pas de mettre votre message à si la solution donnée résout votre problème

  11. #11
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Le message d'ouverture est bien normal: ODS TAGSETS.EXCELXP créé des fichiers XML.
    https://communities.sas.com/message/137802#137802.

    Pour pouvoir convertir les fichiers XML vers XLS, xlsx, SAS support propose cette solution:
    http://support.sas.com/kb/43/496.html

    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  12. #12
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    Salut,

    J'ai essayé la macro mais j'ai ce message d'erreur.

    Nom : ERROR.png
Affichages : 806
Taille : 20,9 Ko

    D'où cela peut venir d'après vous ? Des logiciels pas à jour ?

    C'est dommage que ça ne fonctionne pas car j'ai de temps en temps besoin d'importer sur SAS des fichiers que j'ai déjà exporté avec ODS TAGSETS et ça ne fonctionne jamais avec des XLS/X. Du coup j'exporte en XML et je converti à la main en sauvegardant un nouveau fichier dans Excel.

    alers

  13. #13
    Membre éprouvé
    Avatar de m.brahim
    Homme Profil pro
    SAS / BIG DATA
    Inscrit en
    Juillet 2011
    Messages
    461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : SAS / BIG DATA
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2011
    Messages : 461
    Points : 1 119
    Points
    1 119
    Billets dans le blog
    14
    Par défaut
    Bonjour,

    Le problème est en effet provient lors de la comparaison avec la version Excel.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (oXL.Version) >= 12 Then" ;
    Je te propose cette nouvelle version à laquelle j'ai apporté quelques modifications et qui a pour but:

    1/Création des fichiers XML
    2/Conversion des ces fichiers vers xslx
    3/Suppression des fichiers XML
    4/ Tests d'importation des données présentes dans les fichiers xlsx avec: libname et proc import.

    Voici la version complète du code:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
     
     
    proc sort data=sashelp.class out=test;
       by age;
    run;
     
    ods tagsets.excelxp file="c:\temp\temp2_files\temp.xml" newfile=bygroup;
     
    proc print data=test;
       by age;
    run;
     
    ods tagsets.excelxp close;
     
    /****************************************************************************/
    /* The DEFAULT= parameter points to the folder containing the .XML files.   */  
    /* In this example, the files were generated using the ExcelXP tagset.      */
    /* The STORE= parameter names the location where the script will be stored. */  
    /* The EXT= parameter specifies which type of file should be converted.     */
    /* The %INCLUDE statement includes the macro to be invoked.                 */ 
    /****************************************************************************/
     
    options noxsync noxwait;
     
     
    %macro test(default=c:\temp\temp2_files\,store=c:\temp\temp.vbs,ext=xml);
     data _null_;
     file "&store";
     put " Dim oXL ";
     put " Dim oFolder";
     put " Dim aFile";
     put " Dim FSO";
     put " Set oXL = CreateObject(""Excel.Application"")";
     put " Set FSO = CreateObject(""Scripting.FileSystemObject"")";
     put " oXL.DefaultFilePath = ""&default""";
     put " oXL.DisplayAlerts = False";
     put " if FSO.FolderExists(oXL.DefaultFilePath) then";
     put " Set oFolder = FSO.GetFolder(oXL.DefaultFilePath)";
     put " For each aFile in oFolder.Files ";
     put " If Right(LCase(aFile.Name), 4) = "".&ext"" Then";
     put " oXL.Workbooks.Open(aFile.Name)";
     put " oXL.Visible = False";
      put " oXL.ActiveWorkBook.SaveAs Left(aFile, Len(aFile) - 4) & "".xlsx"",51";
      put " oXL.ActiveWorkBook.Close SaveChanges = True";
     put " End If";
     put " Next";
     put " Set oFolder = Nothing";
     put " end if";
     put " FSO.DeleteFile(""&default\*.&ext""), DeleteReadOnly";
     put " oXL.DisplayAlerts = True";
     put " oXL.Quit";
     put " Set oXL = Nothing";
     
     run;
    x "cscript ""&store""";
     %mend;
     
    %test() 
     
     
    /*test sur les import de données */
    /*avec libname Ok reste à renommer les colonnes*/
     
    libname tt 'C:\temp\temp2_files\temp1.xlsx';run;
    /*Avec la proc import éaglement Ok même remarque : modifier les noms des colonnes*/
     
    proc import
    dbms=excel datafile='C:\temp\temp2_files\temp.xlsx' 
    out=table1 replace; 
     
    sheet="Table 1 - Age=11";
    run;

    Cordialement
    Certification des Talents de la programmation In Memory Statistics sur HADOOP:
    http://talents-imstat.groupe-avisia....avance?uid=162

  14. #14
    Membre actif
    Homme Profil pro
    Inscrit en
    Février 2013
    Messages
    347
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Février 2013
    Messages : 347
    Points : 235
    Points
    235
    Par défaut
    C'est super, cette fois-ci tout fonctionne chez moi. La création des XLSX est automatique. Quand je lance le VBS en revanche toujours la même erreur mais en tout cas la macro fonctionne.

    Merci !

    alers

Discussions similaires

  1. La fonction TAGSETS.EXCELXP et la sortie Excel
    Par r_dani dans le forum Outils BI
    Réponses: 8
    Dernier message: 05/01/2011, 17h26
  2. [tagsets.excelxp] et version d'Excel en sortie
    Par Filippo dans le forum ODS et reporting
    Réponses: 4
    Dernier message: 15/06/2010, 17h25
  3. [Ods tagsets.excelxp]Problème print_footer dans sortie XLS
    Par Filippo dans le forum ODS et reporting
    Réponses: 0
    Dernier message: 20/04/2010, 13h52
  4. Saut de ligne dans une proc report et ODS tagset.ExcelXP
    Par l'breton du 29 dans le forum ODS et reporting
    Réponses: 2
    Dernier message: 22/07/2009, 19h42
  5. Problème avec tagset.excelxp et macro
    Par jm2507 dans le forum Macro
    Réponses: 4
    Dernier message: 24/06/2009, 16h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo