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 :

Convertir une variable du format numérique en alphanumérique


Sujet :

Débutez

  1. #1
    Membre du Club
    Inscrit en
    Mai 2012
    Messages
    60
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 60
    Points : 48
    Points
    48
    Par défaut Convertir une variable du format numérique en alphanumérique
    Bonjour à tous,

    Je souhaite concaténer 2 tables de forme suivante :
    table "region" :

    typo x
    1 0
    2 0
    3 1
    4 0

    table "formule" :

    typo x
    A 1
    B 0
    C 0

    Je souhaiterais concaténer les deux tables pour avoir :

    typo x
    1 0
    2 0
    3 1
    4 0
    A 1
    B 0
    C 0

    Le problème c'est que la variable typo dans la table "region" est du format numérique et dans la table "formule" du format alphanumérique, j'ai essayé de faire le suivant mais ça n'a pas marché:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    data region; 
    set region; 
    typo = input(typo, $10.);
    run;
     
    data table; 
    set region formule; 
    run;
    le message d'erreur est le suivant :
    ERROR: Variable typo has been defined as both character and numeric.

    Quelqu'un pourrait m'aider svp!!
    Merci d'avance

  2. #2
    Membre éprouvé
    Homme Profil pro
    Statisticien/développeur BI
    Inscrit en
    Janvier 2012
    Messages
    326
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Statisticien/développeur BI
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2012
    Messages : 326
    Points : 1 142
    Points
    1 142
    Par défaut
    Bonsoir,

    tu cherche à convertir du numérique en caractère dans la table région, tu doit alors utiliser PUT et non INPUT.
    Ensuite, tu ne peux pas redéfinir un format de variable sur elle même, il faut passer par une variable temporaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DATA region (drop=typo rename=(typo2=typo)); 
    SET region; 
    typo2 = strip(put(typo, $10.));
    run;
    Et la ça devrait fonctionner ...

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Inscrit en
    Octobre 2012
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Octobre 2012
    Messages : 30
    Points : 30
    Points
    30
    Par défaut
    Citation Envoyé par edward carnby Voir le message
    Bonsoir,

    tu cherche à convertir du numérique en caractère dans la table région, tu doit alors utiliser PUT et non INPUT.
    Ensuite, tu ne peux pas redéfinir un format de variable sur elle même, il faut passer par une variable temporaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DATA region (drop=typo rename=(typo2=typo)); 
    SET region; 
    typo2 = strip(put(typo, $10.));
    run;
    Et la ça devrait fonctionner ...
    Dans le RENAME à gauche du signe = on met il me semble le nom actuel de la variable et à droite le nouveau nom. Donc il faudrait sans doute écrire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DATA region (drop=typo rename=(typo=typo2)); 
    SET region; 
    typo = strip(put(typo2, $10.));
    run;

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2
    Points : 3
    Points
    3
    Par défaut Conversion de variable numérique et variable caractere
    Bonjour à tous,
    Voila,je souhaiterais convertir une variable numérique en variable caractère en utilisant la fonction put (var,$3.) pour pouvoir extraire avec le fonction substr le premier caractère
    mais la conversion ne fonctionne pas!!
    la log me renvoie cette erreur:
    case
    when substr(put(t1.Id_Offre,$3.),1,1)="2" then "PREPAID"
    when substr(put(t1.Id_Offre,$3.),1,1)="5" then "POSTPAID"
    else "Inconnu"
    end as Type_Offre


    ERROR: Character format $ in PUT function requires a character argument

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

Discussions similaires

  1. [DATA] Convertir une variable caractère en numérique
    Par bibicheDZ dans le forum SAS Base
    Réponses: 5
    Dernier message: 22/04/2014, 11h34
  2. Réponses: 3
    Dernier message: 21/05/2013, 10h26
  3. Réponses: 6
    Dernier message: 24/07/2010, 14h47
  4. [XL-2003] Convertir une colonne au format inconnu en Numérique
    Par flet le kid dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 02/05/2009, 03h03
  5. Réponses: 3
    Dernier message: 13/05/2008, 13h27

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