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 :

Export SAS vers Excel avec graphiques


Sujet :

ODS et reporting

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Export SAS vers Excel avec graphiques
    Bonjour,

    Je souhaite créer un reporting automatisé de SAS vers Excel, avec plusieurs onglets et, dans chaque onglet, des tableaux et graphiques créés sous SAS.

    D’après ce que j’ai pu comprendre à travers mes 1ères lectures :

    - L’utilisation du tagset ExcelXP me permet facilement de créer un fichier Excel avec plusieurs onglets mais impossible d’insérer des graphiques SAS.

    - L’utilisation du tagset MSOffice2k me permet de créer un fichier Excel comportant des graphiques SAS mais impossible de créer plusieurs onglets.

    J’ai essayé de contourner le problème en utilisant une proc template :

    - J’utilise le tagset MSOffice2k pour créer les 2 fichiers xls (avec tableaux et graphiques) qui vont composer mes 2 onglets du fichier final. Pas de souci, mes fichiers sont créés correctement, avec tableaux et graphiques.

    - Je crée ensuite une proc template qui définit la structure du fichier xls final, avec notamment les 2 onglets et le chemin vers les 2 fichiers créés précédemment (cf code joint).

    - J’obtiens bien un fichier résultat final avec mes 2 onglets, les tableaux et les graphiques. Donc a priori ça fonctionne !

    - Le problème c’est que ça va avec juste quelques tableaux et graphiques mais pas quand je commence à avoir beaucoup de données à afficher : seuls les graphiques du 2ème onglet apparaissent et dans le 1er onglet j’ai un espace vide à la place des graphiques.

    Y a-t-il une solution ? Ca me paraît assez basique comme problème et j’imagine que beaucoup de personnes se sont posées la question avant moi.

    Merci de votre aide.

    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
     
    libname steph 'xxx'; 
     
    proc template;
     
      define tagset tagsets.mytags /store=steph.templat;
       parent=tagsets.msoffice2k;
     
      define event doc;
        start:
          put '<html xmlns:o="urn:schemas-microsoft-com:office: office"' NL;
          put 'xmlns:x="urn:schemas-microsoft-com:office:excel"' NL;
        finish:
          put "</html>" NL;
      end;
     
      define event doc_head;
        start:
          put "<head>" NL;
          put '<meta name="Excel Workbook Frameset">';
        finish:
          put "<!--[if gte mso 9]><xml>" NL;
          put "<x:ExcelWorkbook>" NL; 
          put " <x:ExcelWorksheets>" NL;
            put " <x:ExcelWorksheet>" NL;
              put " <x:Name>Report1</x:Name>" NL;
              put " <x:WorksheetSource HRef='Z: Report1.xls' />" NL;
            put " </x:ExcelWorksheet>" NL;
            put " <x:ExcelWorksheet>" NL;
              put " <x:Name>Report2</x:Name>" NL;
              put " <x:WorksheetSource HRef='Z: Report2.xls' />" NL;
            put " </x:ExcelWorksheet>" NL; 
          put " </x:ExcelWorksheets>" NL; 
          put "<x:WindowHeight>5000</x:WindowHeight>" NL;
          put " <x:WindowWidth>10380</x:WindowWidth>" NL;
          put "<x:WindowTopX>480</x:WindowTopX>" NL;
          put "<x:WindowTopY>45</x:WindowTopY>" NL;
          put "<x:ActiveSheet>0</x:ActiveSheet>" NL; 
          put "</x:ExcelWorkbook>" NL;
          put "</xml><![endif]-->" NL;
          put "</head>" NL;
        end;
      end;
    run; 
     
    ods path sasuser.templat sashelp.tmplmst steph.templat; 
     
    ods markup   file="xxx/Report.xls"
          tagset=tagsets.mytags;
    ods markup close; 
     
    ods tagsets.mytags close;

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    747
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 747
    Points : 978
    Points
    978
    Par défaut
    Salut,

    Le xml Excel ne permet pas d'inserer une image, il n'y a pas de tag pour cela.

    Autres solutions : add-in office, ou bien liasons Excel

    Xav

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Août 2009
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Août 2009
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Tout d'abord merci pour cette réponse.

    En fait je ne comprends pas bien le principe. La méthode que j'indique au-dessus semble fonctionner, j'arrive à insérer des graphiques Excel dans plusieurs onglets Excel. Mais visiblement ça pose problème à partir d'un certain volume de données à afficher.

    Quant à la solution indiquée de liaisons Excel, j'aimerais dans l'idéal éviter de devoir faire des manip Excel et pouvoir tout industrialiser depuis SAS.

Discussions similaires

  1. Export Sas vers Excel perte de données
    Par fifou0504 dans le forum ODS et reporting
    Réponses: 0
    Dernier message: 13/05/2014, 16h47
  2. [PROC] Valeurs numériques export SAS vers Excel
    Par Aurianelm dans le forum SAS Base
    Réponses: 2
    Dernier message: 16/05/2013, 09h46
  3. [AC-2003] Export requête vers Excel avec choix du dossier
    Par jeanpierre78 dans le forum IHM
    Réponses: 4
    Dernier message: 09/07/2011, 19h11
  4. Export SAS vers excel
    Par dadou225 dans le forum SAS Base
    Réponses: 1
    Dernier message: 10/04/2011, 18h01
  5. Exporter gridview vers excel avec combobox
    Par Pedro Varela dans le forum ASP.NET
    Réponses: 3
    Dernier message: 07/03/2008, 17h49

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