之前是没有学过SAS的,现在需要用SAS分析一些数据,就要开始学习了,但是发现网上的资料并不多,好在身边有会的,自己又加入了一个SAS的QQ群,遇到一些问题应该也可以得到解决了。
今天要说的是数据的导入导出,主要是针对Excel的。
数据导入没有遇到什么问题,运行下面代码就可以了:
proc import out=work.test
datafile='E:\1.xls'
dbms=excel replace;
run;
对于初学者,需要注意分号的位置。
但是导出的时候,一直无法实现,并且在导出带有零的字符型数值的时候,零就丢失了(如‘001’,到Excel里面就是‘1’)
后来用下面的代码可以实现了
导出到Excel:
proc export data=work.test
outfile="E:\1.xls"
DBMS=EXCEL5 REPLACE;
run;
在人大经济论坛看到一段代码可以将数据导出Excel的多个Sheet,这个应该比较实用
可以参考:http://bbs.pinggu.org/thread-1434281-1-1.html
这个是通过ODS实现的。
ods tagsets.excelxp file="d:\test.xls" options(sheet_name="print") style=analysis;
proc print data=sashelp.class;run;
ods tagsets.excelxp options(sheet_name="freq");
proc freq data=sashelp.class;
tables sex;
run;
ods tagsets.excelxp close;
这个也可以只输出到一个Sheet,如下:
ods tagsets.excelxp file="d:\test.xls" options(sheet_name="print") style=analysis;
proc print data=sashelp.class;run;
ods tagsets.excelxp close;
如果要和Oracle数据库连的话,可能会遇到一些麻烦,就是SAS和Oracle都是64位或者32位的,由于PLSQL不支持64位的,所以需要先配置一下,可是这可能导致PLSQL可以连Oracle,而SAS又无法连接Oracle,应该是设置的环境变量导致的,就是在环境变量Path里面添加64位,32位Oracle的程序路径,参考这篇文章:http://blog.csdn.net/yeohcooller/article/details/6940481
然后就是SAS连Oracle了,可以参考这个:http://blog.sina.com.cn/s/blog_5fc375650100gkoj.html
最关键的就是需要重启电脑,之后才会生效。
如果遇到其他问题,去网上搜一下吧。
如果顺利的话,应该可以连上了,好了,现在开启神奇的SAS之旅吧!