|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 28 ![]() |
Bonjour à tous,
je suis une nouvelle utilisatrice de SAS et je souhaite fusionner 2 fichiers, j'ai donc fais un merge. Mais e probleme est que j'ai une erreur : " Variable numed has been defined as both character and numeric" et je ne comprends pas. Faut il que ma variable identique soit numérique? J'ai verifié la variable identique est au meme format dans les 2 fichiers. Je vous remercie pas avance pour vos suggestions. Natacha |
|
|
00
|
|
|
#2 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
Hello et bienvenue;
pour répondre à cette question Code :
Sinon peux-tu poster ton code ? afin qu'on puisse t'aider? |
||
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 28 ![]() |
Voila mon code
Code :
Merci d'avance. |
||
|
|
00
|
|
|
#4 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 012 ![]() |
Bon le code à l'aire bon,
est ce que tu peux faire ceci : Code :
|
||
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour Natacha.
Ce n'est pas IDET qui pose problème, mais NUMED, comme l'indique le message. Attention dans MERGE, si des variables (autre que la clé IDET) portent le même nom, SAS essaye d'écraser les valeurs de la 1e table par celles de la 2e table en cas de correspondance. Si tu veux conserver toutes les variables, il faudrait renommer celles qui sont identiques avant la jointure. Bon courage. Olivier |
|
|
10
|
|
|
#6 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 28 ![]() |
Merci beaucoup,
Olivier a raison mon problème vient du fait que mes variables ont le même nom entre les 2 tables. Comment fait t-on pour renommer des variables de manière automatique . Ex: on rajoute "_06". Bonne journée et merci d'avance. Natacha |
|
|
00
|
|
|
#7 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour.
A ma connaissance, pas de solution vraiment totalement simple. Un peu de macro-langage est nécessaire : on liste les variables de la table (sauf l'identifiant) avec une proc CONTENTS et ensuite on construit les couples ancien nom = nouveau nom avec _06 à la fin. On stocke ces couples dans une macro-variable qui sert ensuite à faire le RENAME nécessaire. Code :
Olivier |
||
|
|
10
|
|
|
#8 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 28 ![]() |
Merci beaucoup pour le code car j'avoue que c'est pas très simple.
Mais j'ai compris le principe. Encore merci bonne journée. Natacha |
|
|
00
|
|
|
#9 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Je rectifie mon code posté un peu vite
Code :
|
||
|
|
10
|
|
|
#10 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 28 ![]() |
Olivier, j'ai effectué ton code c'est génial cela fonctionne mais en fait je voudrais que dans ma nouvelle table cohorte3, les variable de la table cohorte2 soient visibles grace à "_06". Et en fait avec ton code j'arrive à faire un merge et cela fonctionne mais je ne distingue plus le "_06".
Je ne sais pas si je suis très claire!! Merci d'avance |
|
|
00
|
|
|
#11 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
J'imagine que c'est parce que les labels, eux, sont restés les mêmes. Si tu vas dans le menu VIEW > COLUMN NAMES tu devrais avoir les noms de variables en tête de colonne (je suppose que tu n'es pas dans SAS Enterprise Guide).
Est-ce que c'est ça le problème ? Sinon je ne vois pas. |
|
|
00
|
|
|
#12 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 28 ![]() |
Bonjour,
c'est exactement ça , le "name" a été modifié mais pas le "label". J'ai tenté de remplacer le "name" par "label" dans ton code mais dommage ça fonctionne pas! Trop simple. Merci d'avance. Natacha |
|
|
00
|
|
|
#13 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Voici donc la nouvelle version qui changer aussi les labels en mettant "2006" au début de ceux-ci.
Code :
J'espère que ça fera ce que tu veux. Olivier |
||
|
|
00
|
|
|
#14 |
|
Invité de passage
![]() Inscription : décembre 2011 Messages : 28 ![]() |
Merci beaucoup ça fonctionne.
Bonne apres midi. Natacha |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com