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 :

Proc report avec plusieurs onglets dans une feuille excel [ODS]


Sujet :

ODS et reporting

  1. #1
    Membre actif Avatar de tdiallo
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 118
    Points : 264
    Points
    264
    Par défaut Proc report avec plusieurs onglets dans une feuille excel
    Bonjour,
    Je voudrais utiliser la procedure report pour mettre dans une feuille excel pour chaque sex.
    J'ai pris un exemple sous sas mais mon problème est pareil.

    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
    %macro bcl(genre);			
    ods listing close;
    ODS TAGSETS.msoffice2k_x nogtitle nogfootnote FILE="C:\Exemple\table.xls"; 
    OPTIONS(SHEET_NAME="&genre" sheet_interval = "none")  ;
    proc report data=sashelp.class headline headskip nowindows ps=55;
    	where sex="&genre";
    	columns sex age height weight;
    	define sex/display;
    	define age/display;
    	define height/display;
    	define weight/display;
     
    run;
    %end;
    ODS TAGSETS.msoffice2k_x CLOSE;
    ods listing;
     
    %mend;
    %bcl(F);
    %bcl(H)

    En sortie ça me donne une feuille excel avec un seul onglet
    Merci

  2. #2
    Expert confirmé
    Avatar de olivier.decourt
    Homme Profil pro
    Formateur R/SAS/statistiques
    Inscrit en
    Avril 2008
    Messages
    2 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Formateur R/SAS/statistiques
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 064
    Points : 4 478
    Points
    4 478
    Par défaut
    Bonjour Thierno.
    Une partie des instructions ODS devraient rester hors du macro-programme (l'instruction avec FILE et l'instruction avec CLOSE) : sinon, à chaque appel du macro-programme, SAS écrase le fichier existant.
    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
    %macro bcl(genre); 
    ODS TAGSETS.msoffice2k_x OPTIONS(SHEET_NAME="&genre") ;
    proc report data=sashelp.class headline headskip nowindows ps=55;
    where sex="&genre";
    columns sex age height weight;
    define sex/display;
    define age/display;
    define height/display;
    define weight/display;
    run;
    %mend;
    ods listing close;
    ODS TAGSETS.msoffice2k_x nogtitle nogfootnote FILE="C:\Exemple\table.xls"
    OPTIONS(sheet_interval = "none") ; 
    %bcl(F);
    %bcl(H)
    ODS TAGSETS.msoffice2k_x CLOSE;
    ods listing;
    Je n'ai pas testé, il faudra peut-être aménager un peu le code.
    Bon courage.
    Olivier
    Bon courage.
    Olivier

  3. #3
    Membre actif Avatar de tdiallo
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 118
    Points : 264
    Points
    264
    Par défaut
    Bonjour Olivier,

    Merci pour votre réponse.
    Je viens de tester le code et effectuer quelques modifications mais les deux groupes sont toujours réportés dans le même onglet avec une ligne qui les sépares.

    Oh fait je me demandais s'il n'existe pas une fonction comme SHEET_NAME pour dire qu'il faut mettre ce groupe dans un autre onglet.

    Merci

  4. #4
    Membre actif Avatar de tdiallo
    Homme Profil pro
    Développeur décisionnel
    Inscrit en
    Mai 2012
    Messages
    118
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Guinée

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

    Informations forums :
    Inscription : Mai 2012
    Messages : 118
    Points : 264
    Points
    264
    Par défaut
    Bonjour Olivier,

    Après des recherches approdies, je viens de trouver la solution.

    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
    %macro bcl(genre); 
          proc report DATA=sashelp.class headline headskip nowindows ps=55;
    	WHERE sex="&genre";
    	COLUMNS sex age height weight;
    	define sex/display;
    	define age/display;
    	define height/display;
    	define weight/display;
    run;
    %mend;
     ods tagsets.msoffice2k path="c:\temp" file="temp.html" newfile=output;
      ods tagsets.msofice2k close;
    	%bcl(F);
    	%bcl(M);
      ods tagsets.msoffice2k_x file="multiple.xls" style=statistical
          options( worksheet_source="F#c:\temp\temp.html,
                                                 M#c:\temp\temp1.html"
     
                   );
     
      data _null_;
        file print;
        put "test";
      run;
     
      ods tagsets.msoffice2k_x close;

    Merci pour votre aide,
    A bientôt !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Export de données de plusieurs tables dans une feuille excel
    Par arkhang dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 30/03/2014, 16h29
  2. [XL-2010] Importer des données de plusieurs fichiers dans une feuille excel en VBA
    Par Alibel dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/10/2013, 15h16
  3. Proc report et plusieurs formats dans une colonne
    Par Elcocco dans le forum ODS et reporting
    Réponses: 3
    Dernier message: 06/06/2012, 14h32
  4. [AC-2007] Exporter plusieurs tables dans UNE feuille Excel
    Par Bristow47 dans le forum VBA Access
    Réponses: 8
    Dernier message: 06/07/2010, 08h00
  5. Réponses: 24
    Dernier message: 15/10/2007, 14h41

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