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

SAS Base Discussion :

probleme export des formats sas vers excel


Sujet :

SAS Base

  1. #1
    Invité
    Invité(e)
    Par défaut probleme export des formats sas vers excel
    Bonjour, tout le monde,
    j'ai créé un format sous sas qui apparait bien dans la table à exporter , mais quand j'exporte il me prend pas les formats sous excel ,

    kelkun peut m'aider SVP ?? Merci

  2. #2
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 372
    Points
    372
    Par défaut
    Bonjour Rose,

    C'est normal, un format "met en forme" des valeurs stockées. Or l'export exporte des valeurs stochées et non les valeurs "affichées". Il faut donc transformer tes valeurs "affichées" en valeurs "stockées" dans une nouvelle table ou en pseudo valeurs stockées dans une vue.

    Sur le site de SAS, Usage Note 18406: http://support.sas.com/kb/18/406.html



    PROC EXPORT will not export any formats, whether SAS or user-defined,
    applied to a variable in a SAS data set when it is exported to Excel.
    However, you can create a view from the SAS data set, and the formatted
    variables in the view are then exported correctly with PROC EXPORT.

    Example: PROC EXPORT with a SAS view:

    proc format;
    value word 1-25='small'
    26-50='medium'
    51-75='large'
    76-100='extra large'
    other='enormous';
    run;

    data values;
    input num;
    format num word.;
    cards;
    12
    40
    56
    80
    120
    ;

    proc sql;
    create view work.test as
    select put(num,word.) as num from values;
    quit;

    proc export data=work.test
    outfile="c:\newfile.xls"
    dbms=Excel2000 replace;
    run;

  3. #3
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par sasadm Voir le message
    Bonjour Rose,

    C'est normal, un format "met en forme" des valeurs stockées. Or l'export exporte des valeurs stochées et non les valeurs "affichées". Il faut donc transformer tes valeurs "affichées" en valeurs "stockées" dans une nouvelle table ou en pseudo valeurs stockées dans une vue.

    Sur le site de SAS, Usage Note 18406: http://support.sas.com/kb/18/406.html
    je te remercie,

  4. #4
    Membre averti
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 372
    Points
    372
    Par défaut
    Je t'en prie.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Bonjour à tous ,
    J'ai également créé un format sous sas que je n'arrive pas à exporter sous excel.
    Je ne comprends pas le tutoriel de SAS.
    Je vous transmets mon 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
    LIBNAME dip06 'D:\sas\SISE\coh2006_dipl';/* creer un repertoire dans la bibliotheque*/
    libname D " D:\sas";
    options fmtsearch=(d) ;
    proc sql;
    create table dip06.inscgre06 as
    select idet,sexe,age,dep_res_ref,aca_res_ref,bac,annee_bac,etabli,aca_etab,nbach,net,discipline,diplome,groupe_disc,type_diplome,secteur_disc,composante,niveau,cursus_lmd,cycle,voie
    from dip06.Sise06 
    where annee_bac=2006 and aca_etab="08" ;
    run ;
    quit ;
     
    LIBNAME fmt "D:\sas" ;
    OPTION FMTSEARCH=(work library fmt) NOFMTERR ;
    data dip06.s0381838S;
    set dip06.inscgre06 (where=(etabli="0381838S"));
    format aca_res_ref $acabac. etabli $compos. diplome $diplom. type_diplome $ltdlg. discipline $ldisclg. secteur_disc $lsect. composante $typcomp. ;
    label     etabli=etabliR06
            aca_etab=aca_etabR06
            discipline=disciplineR06
            diplome=diplomeR06
            groupe_disc=groupe_discR06
            type_diplome=type_diplomeR06
            secteur_disc=secteur_discRO6
            composante=composanteR06
            niveau=niveauR06
            cursus_lmd=cursus_lmdR06
            cycle=cycleR06
            voie=voieR06
    ;
     
    rename     etabli=etabliR06
            aca_etab=aca_etabR06
            discipline=disciplineR06
            diplome=diplomeR06
            groupe_disc=groupe_discR06
            type_diplome=type_diplomeR06
            secteur_disc=secteur_discRO6
            composante=composanteR06
            niveau=niveauR06
            cursus_lmd=cursus_lmdR06
            cycle=cycleR06
            voie=voieR06
    ;
     
    run;
     
     
    proc export data=dip06.s0381838S
    outfile ="D:\Mes documents\bourbonn\Documents\s0381838S.XLS"
    dbms=excel replace;
    run;
    Merci à vous.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Bonjour à tous,
    Je me permets de relancer le sujet car je suis coincée et je n'arrive pas à appliquer le tutoriel.
    Merci d'avance.
    Natacha

  7. #7
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Tu n'as pas créé la vue à partir de ta table!!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
      proc sql;
      create view work.test as
      select put(num,word.) as num from values;
      quit;
    tu appliques tes format dans la vue

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Merci.
    Mais en fait ce que je ne comprends pas c'est à quoi correspond "(num,word.)" comme j'ai plusieurs format et "num FROM VALUES".
    Merci d'avance.

  9. #9
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    le format peut être utiliser de plusieurs manières:
    format a $fmt.; => a garde toujours sa valeur, le format s'applique juste au moment de l'affichage.
    B=put(a, $fmt.); => tu crées une nouvelle variable qui va contenir le résultat de l'application du format.

  10. #10
    Membre émérite

    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mars 2005
    Messages
    1 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

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

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 364
    Points : 2 329
    Points
    2 329
    Par défaut
    Citation Envoyé par 5natacha Voir le message
    Merci.
    Mais en fait ce que je ne comprends pas c'est à quoi correspond "(num,word.)" comme j'ai plusieurs format et "num FROM VALUES".
    Merci d'avance.
    c'est du code sql
    v as num => num devient le un nouveau nom à la variable a
    from values => on utilise la table values
    put(num,word.) => on applique le format word. à la variable num

  11. #11
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2011
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 36
    Points : 20
    Points
    20
    Par défaut
    Merci beaucoup pour ces informations, je comprends mieux.
    J'essaie tout cela demain.
    Encore merci

Discussions similaires

  1. [AC-2007] Exporter des donnees access vers Excel
    Par sami0701 dans le forum VBA Access
    Réponses: 4
    Dernier message: 23/10/2012, 11h45
  2. Exporter des données OUTLOOK vers EXCEL
    Par devdev dans le forum VBA Outlook
    Réponses: 1
    Dernier message: 04/03/2009, 15h35
  3. Probleme export de données sql vers excel
    Par abelmasengu dans le forum Excel
    Réponses: 3
    Dernier message: 06/02/2009, 15h45
  4. Export des données MsAccess vers Excel
    Par vautour29 dans le forum Access
    Réponses: 3
    Dernier message: 26/01/2007, 20h14
  5. exporter des données access vers excel
    Par Sebastien_INR59 dans le forum Access
    Réponses: 8
    Dernier message: 20/06/2006, 23h29

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