将位于UNIX服务器上的excel文件导入SAS

我试图导入一个Excel文件到数据集使用SAS,但是常规的方法:

PROC IMPORT OUT= test.test DATAFILE= "M:/excelfile.xls" DBMS=EXCEL REPLACE; SHEET="Sheet1"; GETNAMES=YES; MIXED=NO; SCANTEXT=YES; USEDATE=YES; SCANTIME=YES; RUN; 

只适用于Windows。

我使用SAS 9.2 ..我尝试了不同的DBMS像XLS,EXCELCS没有运气…我一直在这个投资了很多时间我想知道是否有可能..我没有访问任何其他语言除SASshell外(无PERL)

无论如何要完成我在找什么?

这些是已安装的基本产品

操作系统:AIX 64
—基础产品
— SAS / STAT

— SAS / GRAPH

— SAS / ETS
— SAS / OR — SAS / CONNECT
— SAS集成技术
—或OPT
—或PRS
—或者IVS
—或LSO
— SAS / ACCESS接口到DB2

我知道这是迟到了,但是为了logging,您应该能够使用XML数据引擎和SAS支持提供的自定义XMLMAP导入带有SAS的xlsx(XML Excel数据表)。

请参阅http://www2.sas.com/proceedings/sugi31/115-31.pdf文件以了解如何执行此操作以及从哪里获取XMLmap。

如果AIX上已安装的基本产品列表是正确的,那么您没有在UNIX上获得许可的PC访问权限的PC文件格式产品。 由于您提到了“远程提交”,并且您的PC上有SAS Access,您可以将文件下载到PC,使用PROC IMPORT,然后将SAS数据集传回服务器:

 rsubmit; proc download infile='M:/excelfile.xls' outfile='c:\temp\excelfile.xls' binary; run; endrsubmit; PROC IMPORT OUT=work.test DATAFILE= 'c:\temp\excelfile.xls' DBMS=EXCEL REPLACE; SHEET="Sheet1"; GETNAMES=YES; MIXED=NO; SCANTEXT=YES; USEDATE=YES; SCANTIME=YES; RUN; rsubmit; proc upload data=test out=test.test; run; endrsubmit; 

希望这有助于鲍勃

看到这里 – 你可以使用的选项似乎取决于你指定的DBMS(例如,看起来你不能使用GETNAMES和EXCELCS)。 你有没有尝试剥离PROC IMPORT回来,即通过删除一些选项:

 proc import out=work.test datafile = "/path/to/file.xls" dbms = EXCELCS replace; sheet = "Sheet1"; run; 

这个问题可能只是因为你需要用-noterminal选项来运行SAS,就像这里所说的那样。