|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |||
|
Invité de passage
![]() Inscription : mai 2011 Messages : 5 ![]() |
Bonjour!
Je travaille sur l'import d'une table excel via les DDE depuis sas. voici mon programme: Code :
Mon souci, c'est qu'après l'étape: data TS_ORIGIN; attrib.... j'ai une erreur: Citation:
Si quelqu'un peut m'aider! c'est avec grand plaisir! A+ Caroline |
|||
|
|
00
|
|
|
#2 |
|
Membre Expert
![]() Biostatisticien Inscription : juin 2009 Messages : 1 143 ![]() |
Bonjour,
Si je comprends bien tu veux importer un fichier excel dans sas. A priori tu n'as pas besoin des DDE, un infile dans une étape data ou une proc import suffira.. C'est plus simple que les DDE. |
|
|
00
|
|
|
#3 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Bonjour.
Le message "DDE session not ready" apparaît quand Excel n'est pas encore prêt à converser via le lien DDE car il est occupé à autre chose. Ici, je suppose qu'il est encore en train d'ouvrir le classeur au moment où commence l'étape DATA d'import. Pour être tranquille, il faudrait ajouter juste après Code :
put '[open("C:\DC982\STAT\DOCUMENTS\TS\TS_v4.xls")]';
Olivier @Manoutz : c'est vrai qu'on peut faire plein de belles choses avec la proc Import, mais 1) il faut le module ACCESS TO PC FILES (alors que le lien DDE est utilisable avec juste SAS BASE) et 2) avec une version 8 on ne peut pas importer uniquement une plage de données d'une feuille donnée. |
|
|
00
|
|
|
#4 | |
|
Membre Expert
![]() ![]() Brice BeareParis Inscription : janvier 2011 Messages : 956 ![]() |
Citation:
|
|
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 5 ![]() |
merci pour vos réponses,
je vais essayer J'ai aussi essayé la proc import, mais comme je suis en sas V8, ça me crée une table avec 1 colonne et 1 ligne; Je suis donc obligée de passer par le .csv, et ça j'ai pas du tout envie!! je reviens vous dire si ça marche! |
|
|
00
|
|
|
#6 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 5 ![]() |
Bon alors, le verdict: ça ne marche pas mieux....
mais je ne comprends pas, il ouvre excel, puis mon fichier, puis referme excel... j'ai l'impression qu'il ne peut pas lire les données.. je ne sais pas toujours l'erreur après le data table; attrib... |
|
|
00
|
|
|
#7 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Est-ce que tu peux essayer en simplifiant ton FILENAME ? J'ai l'impression qu'Excel va chercher à ouvrir 2 fois le classeur.
Code :
filename test dde 'excel|alimentation!r1c1:r36c14' lrecl=2000; |
|
|
00
|
|
|
#8 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 5 ![]() |
toujours la même erreur...
je vais finir par faire une proc import d'un fichier csv... merci pour votre aide! |
|
|
00
|
|
|
#9 |
|
Expert Confirmé
![]() ![]() Olivier DecourtFormateur en informatique Inscription : avril 2008 Messages : 1 467 ![]() |
Et si tu ouvres le classeur Excel manuellement, avant de lancer l'étape DATA avec INFILE et INPUT, ça fonctionne ?
|
|
|
00
|
|
|
#10 |
|
Invité de passage
![]() Inscription : mai 2011 Messages : 5 ![]() |
non, ça fait toujours la même erreur...
|
|
|
00
|
|
|
#11 |
|
Membre éprouvé
![]() Rémi Bousquetresponsable adjoint service stat Inscription : mars 2009 Messages : 334 ![]() |
Ca peut être à cause de la définition de ton triplet DDE pour le filename.
Ta définition 'excel|alimentation!r1c1:r36c14' correspond à une installation en anglais excel : - la notation RC correspond à Row Column - la notation LC correspond à Ligne Colonne Tu peux tenter 'excel|alimentation!L1c1:L36c14' ? Pour en avoir le coeur net, une méthode "sioux" pour définir ton filename : - sous Excel, "copie" la zone que tu veux définir - retourne sous SAS, via le menu, fait "Solution/Accessories/Triplet DDE" : une fenêtre affiche ton triplet DDE tel que tu dois l'alimenter |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com