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 :

Problème pour exporter des données sous Excel


Sujet :

ODS et reporting

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 85
    Points : 45
    Points
    45
    Par défaut Problème pour exporter des données sous Excel
    Bonjour à tous,

    malgré le temps magnifique d'aujourd'hui,
    je dois mettre en place un dossier et pour cela réaliser une exportation de plusieurs tableaux SAS dans différents onglets du même classeur mais voilà malgré mais recherche je n'arrive pas a comprendre ou mon programme bloque.

    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
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    /*****************************************/
                            /* Construction Etude fiche signalétique */
                            /*****************************************/
     
     
    %macro compar(var,var2) ;/*var =secteur
                               var2 =enseigne*/
     
    /* choix de l'étude 
            _modifier variable d'étude (1)*/
     
    data tableETUDE (keep=numind cle vague poids  agec5 pcsc8 statfc npf stat 
    revenu aglo5 uda8 /*rajouter var */&var. &var2./*(1)*/);
    set donnees.foyer1_dfile (where=(vague=4));
    run;
     
    /*ajout de la variable popfr permettant la comparaison avec l'autre pop */
    /*etude*/
    data tableETUDE  ;set tableETUDE  ;
        attrib popfr label = "popfr" format = 8. ;popfr =1 ;
    run ;
     
                            /***********************************************/
                            /*création de la table contenant les résultats */
                            /***********************************************/
     
     
    proc means data= tableETUDE nway noprint ;
        var popfr / weight = poids ;
        class  agec5 pcsc8 statfc npf stat revenu aglo5 uda8 ; 
        /*rajout de variables possibles*/
            output out = popstatfr (drop = _type_ _freq_) sum= ;
    run;
     
    /*ajout d'une variable num afin de faciliter la concaténation des 3 tables */
    data popnumfr ;
    set popstatfr ;
        attrib num
        label="numéro" ;
        num=_N_ ;
    run ;
     
    /*création de la table contenant les résultats secteur*/
        proc means data= tableETUDE nway noprint;
            var &var.  / weight = poids ;
            class  agec5 pcsc8 statfc npf stat revenu aglo5 uda8 ;
            /*c'est à cet endroit qu'il faut rajouter des var*/
                output out = popstat&var. (drop = _type_ _freq_) sum= ;
        run ;
     
    /*ajout d'une variable num afin de faciliter la concaténation des 3 tables */
        data popnum&var. ;
        set popstat&var. ;
            attrib num
            label="numéro" ;
            num=_N_ ;
        run ;
     
    /*création de la table contenant les résultats pour l'enseigne*/
        proc means data= tableETUDE nway noprint;
            var &var2.  / weight = poids ;
            class  agec5 pcsc8 statfc npf stat revenu aglo5 uda8 ;
            /*c'est à cet endroit qu'il faut rajouter des var*/
                output out = popstat&var2. (drop = _type_ _freq_) sum= ;
        run ;
     
    /*ajout d'une variable num afin de faciliter la concaténation des 3 tables */
        data popnum&var2. ;
        set popstat&var2. ;
            attrib num
            label="numéro" ;
            num=_N_ ;
        run ;
     
        /*concaténation des résultats obtenus par les proc means*/
        data poptot ; 
            merge popnum&var. 
                  popnum&var2. 
                  popnumfr ;
            by num ;
        run ;
     
                            /***********************************************/
                            /*  construction des tableaux de comparaisons  */
                            /***********************************************/
     
        /*TABLEAU SOCIO-DEMO*/
     
    proc tabulate data = poptot out= socio;
        class  agec5 pcsc8 statfc npf stat revenu aglo5 uda8 ;
            /*c'est à cet endroit qu'il faut rajouter des var*/
        var popfr &var. &var2.;
        table (agec5 pcsc8 statfc npf stat revenu aglo5 uda8),( popfr &var. &var2.)*pctsum ;
    run ;
     
     
        %compar (var=m_p3_1,var2=m_p3_5) ;/**/
     
    /*chemin de sortie vers le fichier Excel*/
     
    Libname bureau 'C:\Documents and Settings\Donan\Bureau';
     
                            /***********************************************/
                            /*    intégration des données sas sous Excel   */
                            /***********************************************/
     
     
    dm "winexecfile ""C:\Documents and Settings\Donan\Bureau\code1.xls"" "; 
     
    /*export tableau socio*/
     
    Filename PSD dde 'excel|[code.xls]PSD!l11c6:l55000c8';
     
    data PSD;    
    file PSD;    
      set socio ;  
      put popfr_PctSum_00000000 m_p3_1_PctSum_00000000 m_p3_5_PctSum_00000000 ;
     run;
    c'est quand je lance cette dernière étape(data psd) data que SAS plante.
    pouvez vous m'aider

  2. #2
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Les spécialistes du DDE auront besoin de messages d'erreur.

    Toutefois, pourquoi ne pas utiliser la proc EXPORT ?
    Quelle version de Windows et SAS ?
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 85
    Points : 45
    Points
    45
    Par défaut
    version Excel 2003
    sas 9.1.3

    je dois garder la structure de mon fichier Excel et les données que je veux exporter doivent se retrouver a une place définie et pour ça il me semble qu'il n'y a que le lien dde.

    [Oups]

    concernant les lignes d'erreur je n'en ai aucune sas plante avant que je n'ai pu voir le journal

  4. #4
    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
    Est-ce que ça ne serait pas une variante de "Excel est encore en train de démarrer que SAS est déjà en train de cracher de la donnée" ?
    Essaye de rajouter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    DATA _NULL_ ;
    patience = SLEEP(10,1) ;
    RUN ;
    entre ton DM et l'étape DATA d'export proprement dit.
    Bon courage.
    Olivier

  5. #5
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 85
    Points : 45
    Points
    45
    Par défaut
    je viens d'essayer sas se met bien en pause pendant 10 sec mais après ça SAS ne répond pas je suis obligé de le fermer c'est décourageant il me semble avoir utiliser un code semblable il y a qq temps et sa marché trés bien

  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
    Hello,
    ton fichier excel s'ouvre ou pas ?
    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 du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    85
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2011
    Messages : 85
    Points : 45
    Points
    45
    Par défaut
    oui il s'ouvre bien

    dm "winexecfile ""C:\Documents and Settings\Donan\Bureau\code1.xls"" ";

    Filename PSD dde 'excel|C:\Documents and Settings\Donan\Bureau\[code1.xls]PSD!l11c6:l55000c8';

    tout marche jusque là c'est quand je fais tourner l'étape data que tout plante

  8. #8
    Rédacteur

    Homme Profil pro
    SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Inscrit en
    Avril 2009
    Messages
    2 497
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : SAS ALLIANCE SILVER. Consultant et formateur SAS et Cognos.
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2009
    Messages : 2 497
    Points : 6 064
    Points
    6 064
    Par défaut
    Peux-tu indiquer la version précise de SAS (Aide > A propos de > Info Site)

    Quelle version de Windows ?

    Peux-tu prendre un exemple sur le site du support et valider qu'il fonctionne ?
    N'oubliez pas de cliquer sur lorsque votre problème est réglé !

  9. #9
    Membre expérimenté
    Avatar de MEGAMIND2
    Homme Profil pro
    Paris
    Inscrit en
    Janvier 2011
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 029
    Points : 1 489
    Points
    1 489
    Par défaut Macro DDE
    Salut Antoine,
    Ci-dessous une macro et le fichier Excel en pièce jointe qui va avec...

    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
    DM LOG 'clear';
    dm log "color warning green reverse" continue;
    dm log "color error orange reverse" continue;
     
    x 'cd C:\Program Files\Microsoft office\OFFICE11';
    x 'excel.exe';
    options noxwait noxsync;
     
    DATA _NULL_;
    	x=sleep(5);
    RUN;
     
    filename cmd dde 'excel|system';
     
     
    data _NULL_;
    	file cmd;
    	put "[ERROR(false)]"; /* Pour éviter message sur MàJ */
    	put '[open("C:\Documents and Settings\BEARE\Bureau\Shoes.xls")]'; 
    run;
     
     
    %MACRO DDE(table1=,onglet=);
     
     
     
    	proc contents data=&table1. out=name noprint;
    	run;
    	proc sort data=name;
    	by varnum;
    	run;
     
    	data name;
    	set name;
    	separ=compress("'09'"!!" "!! "X");
    	var=compress(quote(name))!!"  "!!separ;
    	var2=compress(name)!!"  "!!separ;
    	run;
     
    	proc sql noprint;
    	select var into: l separated by " " from name;
    	select var2 into: l2 separated by " " from name;
     
    	quit;
    	%put l=&l.;
     
    	filename test2  dde "Excel|&onglet!l2C1:l999C99"  notab lrecl=64000;
    	filename test2n dde "Excel|&onglet!l1C1:l999C99" ;
     
    	data _null_;
    	file test2n;
    	PUT &l. ;
     
    	RUN;
     
     
    	data _null_;
    	set &table1.;
    	file test2 ;
    	PUT &l2.; 
    	RUN;
     
    %MEND;
    %DDE(table1=Sashelp.Shoes,onglet=Shoes);
     
    DATA _NULL_ ;
        file cmd ;
        put "[SAVE()]";
        put "[CLOSE()]";
    	put "[QUIT()]";
    run ;
    Fichiers attachés Fichiers attachés

  10. #10
    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
    Une remarque sur ton code Brice : il intègre le chemin de EXCEL.EXE et doit donc être changé selon la version d'Excel.
    Une alternative serait de faire, avec une seule commande X
    Le défaut de cette manière de faire est qu'on ne maîtrise pas la version d'Excel qui est démarrée (en cas de versions multiples, 2003+2010 par exemple) ; mais ça ne doit rien changer au fonctionnement du DDE en tout cas.
    Bon courage.
    Olivier

  11. #11
    Membre expérimenté
    Avatar de MEGAMIND2
    Homme Profil pro
    Paris
    Inscrit en
    Janvier 2011
    Messages
    1 029
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Paris

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 029
    Points : 1 489
    Points
    1 489
    Par défaut
    Merci Olivier, j'ai donc modifié le 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
    DM LOG 'clear';
    dm log "color warning green reverse" continue;
    dm log "color error orange reverse" continue;
     
     
    X "START EXCEL" ;
     
    options noxwait noxsync;
     
    DATA _NULL_;
    	x=sleep(5);
    RUN;
     
    filename cmd dde 'excel|system';
     
     
    data _NULL_;
    	file cmd;
    	put "[ERROR(false)]"; /* Pour éviter message sur MàJ */
    	put '[open("C:\Documents and Settings\BEARE\Bureau\Shoes.xls")]'; 
    run;
     
     
    %MACRO DDE(table1=,onglet=);
     
    X "&fic_xl";
     
    	proc contents data=&table1. out=name noprint;
    	run;
    	proc sort data=name;
    	by varnum;
    	run;
     
    	data name;
    	set name;
    	separ=compress("'09'"!!" "!! "X");
    	var=compress(quote(name))!!"  "!!separ;
    	var2=compress(name)!!"  "!!separ;
    	run;
     
    	proc sql noprint;
    	select var into: l separated by " " from name;
    	select var2 into: l2 separated by " " from name;
     
    	quit;
    	%put l=&l.;
     
    	filename test2  dde "Excel|&onglet!l2C1:l999C99"  notab lrecl=64000;
    	filename test2n dde "Excel|&onglet!l1C1:l999C99" ;
     
    	data _null_;
    	file test2n;
    	PUT &l. ;
     
    	RUN;
     
     
    	data _null_;
    	set &table1.;
    	file test2 ;
    	PUT &l2.; 
    	RUN;
     
    %MEND;
    %DDE(table1=Sashelp.Shoes,onglet=Shoes);
     
    DATA _NULL_ ;
        file cmd ;
        put "[SAVE()]";
        put "[CLOSE()]";
    	put "[QUIT()]";
    run ;

Discussions similaires

  1. Exporter des données sous Excel
    Par Au pays des stats dans le forum ODS et reporting
    Réponses: 1
    Dernier message: 30/12/2011, 10h53
  2. Problème exporter des données vers excel
    Par sky88 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 10/01/2011, 13h35
  3. Réponses: 35
    Dernier message: 11/08/2010, 13h13
  4. exporter des données sous format excel en php
    Par legide dans le forum Langage
    Réponses: 4
    Dernier message: 25/06/2009, 09h12
  5. Problème pour exporter des tables dans Excel
    Par cocoty dans le forum SAS Base
    Réponses: 1
    Dernier message: 18/07/2008, 13h10

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