Précédent   Forum du club des développeurs et IT Pro > Logiciels > Solutions d'entreprise > Business Intelligence > SAS > Débutez
Débutez Forum concentrant les premières questions que l'on se pose en tant que débutant
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 25/02/2013, 17h03   #1
idhmida
Invité régulier
 
Inscription : mai 2012
Messages : 32
Détails du profil
Informations forums :
Inscription : mai 2012
Messages : 32
Points : 6
Points : 6
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 :
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
idhmida est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 25/02/2013, 17h14   #2
edward carnby
Membre éprouvé
 
Homme Ludovic Le Breton
Statisticien/développeur BI
Inscription : janvier 2012
Messages : 179
Détails du profil
Informations personnelles :
Nom : Homme Ludovic Le Breton
Âge : 38
Localisation : France, Oise (Picardie)

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

Informations forums :
Inscription : janvier 2012
Messages : 179
Points : 465
Points : 465
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 :
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 ...
edward carnby est actuellement connecté   Envoyer un message privé Réponse avec citation 10
Vieux 26/02/2013, 12h00   #3
ludivine666
Membre à l'essai
 
Femme
Inscription : octobre 2012
Messages : 30
Détails du profil
Informations personnelles :
Sexe : Femme
Localisation : France

Informations forums :
Inscription : octobre 2012
Messages : 30
Points : 22
Points : 22
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 :
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 :
1
2
3
4
5
 
DATA region (DROP=typo RENAME=(typo=typo2)); 
SET region; 
typo = strip(put(typo2, $10.));
run;
ludivine666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Cette discussion est résolue.
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 04h40.


 
 
 
 
Partenaires

Hébergement Web