1. #1
    Futur Membre du Club
    Inscrit en
    juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 5
    Points : 5
    Points
    5

    Par défaut Export table SAS en plusieurs fichiers Excel

    Bonjour,
    Soit la table SAS suivante :
    Departement Nom
    0001 Nom1
    0001 Nom2
    0001 Nom3
    0002 Nom4
    0002 Nom5
    0003 Nom6

    Je voudrais créer autant de fichier Excel (3 dans l'exemple ici) qu'il n'y a de départements différents dans la table.
    Comment puis-je procéder ?

  2. #2
    Membre à l'essai
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    avril 2014
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 24
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : avril 2014
    Messages : 15
    Points : 13
    Points
    13

    Par défaut

    Bonjour,

    Le code ci dessous devrait vous aider :

    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
     
     
    DATA extrait;
    INFILE CARDS;
    INPUT Departement $ Nom $;
    CARDS;
    0001 Nom1
    0001 Nom2
    0001 Nom3
    0002 Nom4
    0002 Nom5
    0003 Nom6
    ;
    RUN;
     
    %MACRO export();
     
    /* On extrait les départements en supprimant les doublons */
    PROC SORT DATA=extrait (KEEP=Departement) OUT=extrait_tri NODUPKEY;
    	BY Departement;
    RUN;
     
    /* On stocke le nom des départements dans des macro-variables et on récupère le nombre total de départements */
    DATA _null_;
    	SET extrait_tri;
    	CALL SYMPUT("Dpt"||LEFT(_N_),compress(Departement));
    	CALL SYMPUT("Total",_N_);
    RUN;
     
    %DO i=1 %TO &Total;
     
            /* On crée une table pour chaque département */
    	DATA Dpt&i;
    		SET extrait;
    		WHERE "&&Dpt&i" = Departement;
    	RUN;
     
    	%PUT Dpt&i="&&Dpt&i";
     
            /* On crée un fichier Excel pour chaque département à l'aide des macros variables ou l'on a stocké le nom des départements */
    	PROC EXPORT DATA=Dpt&i
    		OUTFILE="C:\chemin du répertoire\&&DPT&i"
    		DBMS=xlsx
    		REPLACE;
    	RUN;
     
    %END;
     
    %MEND export;
     
    %export;
    Bon courage !

  3. #3
    Futur Membre du Club
    Inscrit en
    juillet 2008
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : juillet 2008
    Messages : 5
    Points : 5
    Points
    5

    Par défaut Export table Sas en plusieurs fichiers Excel

    Bonjour,

    Merci pour ce code qui fonctionne parfaitement !
    Juste une dernière demande :
    Comment procéder pour que le fichier Excel créé soit sous la forme suivante :
    DEP_0001_Done.Xlsx (où 0001 est le departement bien sûr).
    Merci d'avance.

Discussions similaires

  1. Exporter un rapport vers plusieurs fichiers excel
    Par pasb71 dans le forum Cognos
    Réponses: 1
    Dernier message: 17/07/2015, 15h54
  2. Exporter des données des plusieurs fichiers Excel vers un seul fichier Excel
    Par pkp85pkp dans le forum Développement de jobs
    Réponses: 4
    Dernier message: 09/12/2014, 15h20
  3. Export table SAS vers une feuille Excel
    Par aminao dans le forum Macro
    Réponses: 6
    Dernier message: 12/01/2012, 18h08
  4. Fusion de tables SAS issues de fichiers EXCEL
    Par gasikely dans le forum Débutez
    Réponses: 6
    Dernier message: 07/10/2011, 21h54
  5. Export table Access vers plusieurs fichiers Excel
    Par entrepreneur dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 07/01/2008, 09h18

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