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

Débutez Discussion :

Conversion caractère en numérique


Sujet :

Débutez

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Points : 9
    Points
    9
    Par défaut Conversion caractère en numérique
    Bonjour,
    j'ai un message d'erreur lorsque j'essaie de convertir un Char en Numérique.
    J'ai essayé :
    et
    Le message d'erreur que me donne SAS est :
    NOTE: Invalid numeric data, EntreeChargeMES='1*369,5' , at line 171 column 20.
    WARNING: Limit set by ERRORS= option reached. Further errors of this type will not be printed.

    Mes données viennent d'un fichier excel que j'ai importé moi-même et les variables en Char sont celles qui viennent d'une formule de calcul via EXCEL. Est-ce que cela peut avoir un lien ? Pouvez-vous apporter une solution à mon problème ?

  2. #2
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Je viens également de remarquer que le séparateur décimale des variables qui viennent de formules EXCEL est une virgule.

  3. #3
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Points : 1 552
    Points
    1 552
    Par défaut
    Bonjour,
    ce code pourrait résoudre le problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    data test;
    num_C='369,5' ;
    num_N=translate(num_C, '.', ',')*1 ;
    run ;
    Cdt Ward

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2015
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2015
    Messages : 12
    Points : 9
    Points
    9
    Par défaut
    Je te remercie, ça fonctionne !!!

  5. #5
    Membre actif
    Inscrit en
    Juillet 2010
    Messages
    199
    Détails du profil
    Informations forums :
    Inscription : Juillet 2010
    Messages : 199
    Points : 214
    Points
    214
    Par défaut
    Bonjour,

    essaies avec cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    data _null_;
    old ="369,5" ; 
    new =  input(old,numx8.1);
    put new=;
    run;

  6. #6
    Membre expérimenté
    Homme Profil pro
    Développeur en SAS/ Statisticien
    Inscrit en
    Janvier 2013
    Messages
    483
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur en SAS/ Statisticien
    Secteur : Enseignement

    Informations forums :
    Inscription : Janvier 2013
    Messages : 483
    Points : 1 552
    Points
    1 552
    Par défaut
    Ou bien ce code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    data test;
    num_C='369,5' ;
    num_N=input( num_C, NUMX14. ) ;
    run ;

  7. #7
    Nouveau Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Septembre 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Septembre 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut caractère en numérique
    Bonjour, je ne suis pas très à l'aise avec le logiciel SAS, alors désolé si je repose la question..

    En fait, j'ai importé un fichier xls :

    proc import datafile="C:\Users\ROMAI28\Desktop\donnees.xls"
    out=donnees
    dbms=xls
    replace;
    sheet= "feuil1";
    getnames=yes;
    datarow=2;
    run;

    Mais les valeurs sont toutes alignées vers la gauche de la colonne. Je pense que cela signifie que les valeurs sont en caractères. Comment puis-je les mettre en numérique?
    Merci beaucoup!

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

Discussions similaires

  1. Conversion caractère en numérique
    Par jrege75 dans le forum SAS Base
    Réponses: 2
    Dernier message: 20/11/2012, 15h36
  2. Réponses: 3
    Dernier message: 10/10/2008, 15h04
  3. Conversion chaine de caractères en numérique
    Par arezki76 dans le forum Shell et commandes GNU
    Réponses: 33
    Dernier message: 18/07/2007, 11h25
  4. Réponses: 8
    Dernier message: 10/02/2007, 02h44
  5. Réponses: 4
    Dernier message: 21/09/2005, 17h35

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