proc import dbms=excel2000 und SAS8.02
Verfasst von dirk e am 15 Januar, 2007 - 14:55
Hallo SAS Users,
mit PROC Import hab ich mal ein Excel2000 Sheet eingelesen. Jetzt auf einem anderen SAS-Server geht das komischerweise nicht mehr. Er meckert im Log folgendermaßen:
PROC IMPORT OUT=test
74 ! DATAFILE="xyz_variables_full.xls"
75 DBMS=excel2000 REPLACE;
ERROR: DBMS type EXCEL2000 not valid for import.
NOTE: The SAS System stopped processing this step because of errors.
76 SHEET="z02";
77 GETNAMES=yes;
78 run;
74 ! DATAFILE="xyz_variables_full.xls"
75 DBMS=excel2000 REPLACE;
ERROR: DBMS type EXCEL2000 not valid for import.
NOTE: The SAS System stopped processing this step because of errors.
76 SHEET="z02";
77 GETNAMES=yes;
78 run;
Mir sagt mein SAS: About SAS System: SAS8.02
Laut vieler Quellen sollte proc import aber kein Problem sein unter SAS 8. Hat jemand ne Idee?
Viele Grüsse
D. Engfer
»
- Anmelden oder Registrieren um Kommentare zu schreiben

Lizenzproblem!
Hallo Herr Engfer!
Sie brauchen auf dem SAS-Server eine Lizenz für SAS/Access für PC-Dateien.
PROC IMPORT ist Bestandteile von SAS/Base. Jedoch die DBMS=excel200 ist Bestandteil von SAS/Access für PC-Dateien.
Eine Umweg wäre die Daten als CSV-Datei auf dem Server zu Speichern statt als Excel-File. PROC IMPORT kann dann DBMS=CSV verwenden.
Alle Textdateiformate (.csv .txt .dlm) können ohne SAS-Acess-Lizenz gelesen werden.
Gruß
Klaus Landwich
vielen dank
hallo Herr Landwich,
alles klar. Jetzt bräuchte ich bloß noch ne SAS Routine, um das csv File nach Einlesen wieder zu löschen aus dem Folder... never ending story. SAS 9 soll da besser sein oder?
Gruss
Löschen von externen Dateien mit SAS
Hallo,
hier ein paar Varianten zum Löschen von externen Dateien mit SAS:
proc export data=sashelp.class file='C:\TEMP\test.csv' dbms=csv;
run;
* Variante 1 über Betriebssystem-Befehle *;
* Hier wird Windows / DOS verwendet. Für UNIX entsprechende *;
* Befehle verwenden. *;
* SAS Option zur Kommunikation mit dem Betriebssystem *;
* XSYNC - SAS wartet auf das Betriebssystem *;
* NOXWAIT - Nach Abarbeiten der Betriebssystem-Befehle wird *;
* die DOS-Box geschlossen *;
options xsync noxwait;
* Absetzen von Betriebssystem-Befehlen *;
* Möglichkeit 1:*;
%sysexec (del "C:\TEMP\test.csv");
* Möglichkeit 2:*;
%let rc=%sysfunc (system (del "C:\TEMP\test.csv"));
%put rc=&rc;
* Möglichkeit 3:*;
data _null_;
rc = system ('del "C:\TEMP\test.csv"');
put rc=;
if (rc ne 0) then do;
msg=sysmsg ();
put rc= msg=;
end;
run;
* Die Qualität der Fehlerrückmeldung hängt vom Betriebssystem ab. *;
* Der Quellcode enthält OS-spezifische Befehle *;
* Bessere Variante über SAS-Funktion FDELETE *;
* Das ist fast betriebssystemunabhängig. Lediglich die Pfadangabe *;
* im Filename-Statement muss angepasst werden. *;
* Ist vom Programmieren aber aufwändiger *;
* CSV-Datei referenzieren... *;
filename csv 'C:\TEMP\test.csv';
* ...und Löschen. *;
* Möglichkeit 1:*;
%let rc=%sysfunc (fdelete (csv));
%put rc=&rc;
* Möglichkeit 2:*;
data _null_;
length msg $256;
rc = fdelete ('csv');
if (rc ne 0) then do;
msg=sysmsg();
put rc= msg=;
end;
run;
* Referenz auf CSV-Datei entfernen *;
filename csv clear;
Gruß
Klaus Landwich
Hallo Herr
Hallo Herr Landwich,
herzlichen Dank.
Server ohne Office?
Kann es sein, dass auf dem System, auf dem SAS läuft, kein Office installiert ist?
Haben Sie ggf. SAS auch als Client istalliert? Dann können Sie den Code ohne rsubmit abschicken und es sollte funktionieren.
ja
darüber hab ich ja gar nicht nachgedacht. SAS starte ich von einem SAS-Server, lokal hab ich kein SAS auf dem PC. Das Excel sitzt aber lokal. Ich arbeite mit SAS interaktiv. Ein einfaches rsubmit/endrsubmit hilft aber leider auch nicht.
-------
180
ERROR: The SAS/CONNECT product with which the global statement 'rsubmit' is associated is
either not licensed for your system or the product license has expired. Please contact
your SAS installation representative.
Hab ich da überhaupt noch ne Chance?
Hab gerade entdeckt, dass der Remotedesktop mir auch Excel zur Verfügung stellt. Dann brauch ich doch gar kein rsubmit?
Ich fürchte mit proc import nicht
Mit proc import dürfte das nicht dann m.E. funktionieren.
Ich stecke da nicht allzu tief drin, aber vielleicht funktioniert es mit proc upload/download und/oder ODS
Siehe vielleicht hier:
http://www.sas.cc.vt.edu/xportsas.html
http://www.nesug.org/html/Proceedings/nesug04/po/po03.pdf
Gruß Roman Kolbe
Hab gerade entdeckt, dass
Hab gerade entdeckt, dass der Remotedesktop mir auch Excel zur Verfügung stellt. Dann brauch ich doch gar kein rsubmit?