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 :

Importer un fichier excel et changer le nom des colonnes


Sujet :

SAS Base

  1. #1
    Nouveau Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Importer un fichier excel et changer le nom des colonnes
    Bonjour,

    Je tente d'importer un fichier excel et de changer le nom des colonnes. Voici mon petit programme:
    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
     
    libname stt '.';
    options fmtsearch=(stt);
     
    proc format library=stt;
      value $Genderfmt 'M'='Homme'
                                 'F'='Femme';
      value $SchoolSizefmt 'M'='Moyenne'
    		                   'S'='Petite'
    				   'L'='Grande';
      value $Scholarshipfmt 'N'='Non'
    		                   'Y'='Oui';
    run;
     
    proc import datafile="college.xls"
                            out=stt.college
    			dbms=xls
    			replace;
    		range="college$A1:F100";
    		getnames=yes;
    		label StudentID='Code identifiant de l''etudiant'
    		          Gender='Sexe'
    			  SchoolSize='Taille du college'
    			  Scholarship='Bourse d''etude'
    			  GPA='Moyenne cumulative'
    			  ClassRank='Rang';
    	    format Gender $Genderfmt. SchoolSize $SchoolSizefmt. Scholarship $Scholarshipfmt.;
    run;
     
     
     
    proc print data=stt.college;
    run;
    Le problème est que le nom des colonnes ne change pas. Je me demande si c'est parce que je mets le label dans le proc import ?

  2. #2
    Membre actif
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 37
    Points : 206
    Points
    206
    Par défaut Impoter un fichier excel et changer le nom des colones
    Bonjour,
    L'instruction format n'est pas supporté dan l'import:
    - pour le format, vous pouvez utiliser proc datasets pour modifier le format
    - pour les labels: il suffit juste d'utiliser l'option LABEL de la proc print.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
     
    proc datasets lib=work;
    	modify college;
    	format Gender $Genderfmt. SchoolSize $SchoolSizefmt. Scholarship $Scholarshipfmt.;
    run;
    quit;
    proc print data=college label;
    run;
    Cordialement.
    Youc

  3. #3
    Nouveau Candidat au Club
    Femme Profil pro
    Lycéen
    Inscrit en
    Novembre 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci beaucoup!


    J'ai trouvé une façon inspirer de la votre, mais qui utilisait les notions de mon cours. Je me demandait quel était la différence entre faire :

    Vous:
    proc datasets lib=work;
    modify college;
    format Gender $Genderfmt. SchoolSize $SchoolSizefmt. Scholarship $Scholarshipfmt.;
    run;

    ce que moi j'ai fait:
    data collegefr;
    set college;
    format Gender $Genderfmt. SchoolSize $SchoolSizefmt. Scholarship $Scholarshipfmt.;
    run;


    Quel est la différence entre l'option modify et set ? Les deux fonctionnent mais je me si l'une est mieux que l'autre ou si c'est la même chose

  4. #4
    Membre actif
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Juillet 2013
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Juillet 2013
    Messages : 37
    Points : 206
    Points
    206
    Par défaut Importer un fichier excel et changer le nom des colonnes
    Bonsoir,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    proc datasets lib=work;/*-je donne le libname ou se trouve mes tables-*/
    modify college;/*--je donne le nom de la table sur laquelle j'effectue des modifs sur la structure--*/
    format Gender $Genderfmt. SchoolSize $SchoolSizefmt. Scholarship $Scholarshipfmt.;/*je change le format des variables, je peux biensur utiliser rename pour renommer des variables, je peux aussi modifier les labels des variables, biensur il n'y a pas que cela que vous pouvez faire avec proc datasets mais beaucoup d'autres chose*/
    run;
     
    https://support.sas.com/documentation/cdl/en/proc/61895/HTML/default/viewer.htm#a000393161.htm
    La proc DATASETS agit que sur la partie descriptive des table (structure ) c'est à dire:
    on peut changer les formats des variables, les labels, les nom des variables.
    la table ne passe pas dans le le vecteur de travail (PDV).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    data collegefr;
    set college;
    format Gender $Genderfmt. SchoolSize $SchoolSizefmt. Scholarship $Scholarshipfmt.;
    run;
    Votre programme lit toute la table (il fait passer toute la table dans le veceteur de travail observation par observation.

    L'avantage de proc datasets : c'est le temps d’exécution.
    Proc datasets est avantageuse que data...;set....;

    attention a ne pas confondre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    proc datasets lib=..;
    modify nom_table;
    ...
    run;
    ce Programme modifie la structure de la table mais pas les données.
    ET
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    DATA nomtab;
    modify nomtab;
    run;
    le deuxième programme modifie les données de la table.

    Cordialement.

Discussions similaires

  1. [AC-2010] Changer le nom des colonnes dans un recordset
    Par Flop1908 dans le forum VBA Access
    Réponses: 5
    Dernier message: 09/12/2014, 10h40
  2. Réponses: 0
    Dernier message: 11/08/2012, 12h33
  3. [JTable]Comment changer le nom des colonnes
    Par Core8 dans le forum Composants
    Réponses: 8
    Dernier message: 28/10/2009, 01h13
  4. Changer les noms des colonnes de JTable
    Par lamis2009 dans le forum Composants
    Réponses: 1
    Dernier message: 16/06/2009, 16h19
  5. [JTABLE] Comment changer les noms des colonnes?
    Par uzumaki_naruto dans le forum Composants
    Réponses: 2
    Dernier message: 31/03/2007, 21h57

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