|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 180 ![]() |
Bonjour ,
j'éssaie d'importer la base de données excel qui se trouve en pièce jointe à l'aide de INFILE, voici mon code: Code :
et j'ai le message d'érreur suivant : Code :
Quelqu'un peut-il m'aider ? je veux vraiment utiliser infile. Merci d'avance. Kedmard. |
||||
|
|
00
|
|
|
#2 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour.
L'étape DATA ne sait pas importer directement des fichiers XLS de cette manière. Les possibilités sont : 1) via la proc IMPORT si tu as le module ACCESS TO PC FILES 2) via un fichier plat (CSV ou délimiteur tabulation) créé depuis Excel et importé ensuite avec une étape DATA comme la tienne (penser à ajouter DLM= dans INFILE pour indiquer le séparateur choisi, ainsi que les options DSD et MISSOVER) 3) via un lien DDE (un FILENAME particulier) puis une étape DATA comme la tienne (délimiteur tabulation, DSD et MISSOVER aussi) Bon courage. Olivier |
|
|
10
|
|
|
#3 | ||||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 180 ![]() |
Bonjour ,Olivier
Merci pour l'attention que vous accordez à mon problème j'ai essayé le même code en changeant l'entête premiercode: Code :
Code :
les erreurs pour les deux codes sont : Code :
|
||||||
|
|
00
|
|
|
#4 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Hello,
si t'es en SAS9.2 tu peux faire un libname vers ton fichier Excel. Code :
|
||
|
|
10
|
|
|
#5 | ||
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
puis si t'as le nom des feuilles non conforme aux noms utilisés dans SAS ( c'est à dire qui contiennent des lettres accentués , des espaces, des caractètes spéciaux ,...) tu peux utilisé l'option: dans la proc sql;
comme ceci: Code :
|
||
|
|
00
|
|
|
#6 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Pour le coloriage de la proc IMPORT, ce n'est pas forcément un indice fiable. Essaye quand même, ou regarde si tu vois "ACCESS TO PC FILES FORMAT" dans la log quand tu exécutes
Quant à l'excellente solution de SAM, elle suppose aussi le module PC FILES donc si la proc IMPORT ne fonctionne pas, c'est râpé aussi pour ça. Les messages d'erreur t'indiquent : 1) qu'il y a une ligne d'en-tête et qu'il faut la sauter (option FIRSTOBS=2 dans INFILE) 2) que certaines données ne sont pas au format attendu (il serait bon de préciser des informats dans ton INPUT après les noms des variables ; la seule indication d'un $ pour les champs texte est rarement suffisante). Il y a en particulier des dates dans ton fichier que SAS doit pouvoir décortiquer avec un informat Si tu dois continuer avec l'étape DATA faute de licence pour PC FILES, prends le temps d'améliorer l'INPUT pour bien refléter le contenu des variables. C'est ch... à faire mais c'est efficace. Bon courage. Olivier |
|
|
00
|
|
|
#7 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
je viens de voir que ton fichier Excel contient 13 colonnes et toi tu veux créer une table avec 22 colonnes? dans ce cas t'export en CSV et tu importes comme t'as exliqué Olivier.
|
|
|
00
|
|
|
#8 | ||||||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 180 ![]() |
J'ai assayé ce code-ci:
Code :
et celui-là: Code :
Code :
Code :
|
||||||||
|
|
00
|
|
|
#9 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
t'es sûre que la table (feuille Excel ) Notre existe ? regardes dans la bibiothèque lib1 si cette table s'appelle vraiment Notre.
|
|
|
00
|
|
|
#10 | ||
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
"Notre" c'est le nom du classeur. Il est déjà indiqué dans la définition de LIB1.
A l'intérieur, il y a les onglets. Mettons que tu veuilles les données de Feuil1, SAS le verra comme "Feuil1$"n et tu dois donc coder Code :
|
||
|
|
00
|
|
|
#11 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
Ah oui,
Bah il faut utiliser sur les noms des feuilles du classeurs et non pas le nom de ton classeur Excel. Une fois le libname est établie tu regardes à l'intérieur de celui là tu trouvera le nom de toutes tes tables (feuilles ou anglets). et pour travailler sur tes feuilles Excel il faut entourer leurs noms de doubles quottes et un petit n attaché comme t'as expliqué Olivier ,car SAS n'accepte pas les caractères comme le $ ou l'espace dans les noms d'objets SAS. |
|
|
00
|
|
|
#12 | ||||
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 180 ![]() |
Bonjour Messieurs Olivier et SAM,
Merci beaucoup pour votre aide ça marche!!! Le problème était que ma feuille1 d'excel (donc Sarequete) avait le même nom que le fichier j'ai donc retaper le code suivant: Code :
Code :
|
||||
|
|
00
|
|
|
#13 |
![]() ![]() Samir SELMANEConsultant en Business Intelligence Inscription : février 2011 Messages : 1 006 ![]() |
bah c'est normal , ta table s'appelle Sarequete$ et non pas Sarequete
|
|
|
00
|
|
|
#14 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2011 Messages : 180 ![]() |
Merci,
je mets de suite problème résolu. cordialement, |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com