立即注册 登录
公卫人 返回首页

asteriod的个人空间 https://www.epiman.cn/?12177 [收藏] [复制] [RSS]

日志

sas数据读入的几种方式及比较(原创文章,转载请注明出

热度 1已有 564 次阅读2009-4-2 00:00

以EXCEL表格为例,介绍sas读入数据文件的几种方法:

(1)用import将数据库导入;

(2)通过制定libname库和引擎;

(3)使用access过程;

(4)通过odbc方式。

用导入的方法比较简单,示例代码如下:

proc import out=t1;

datafile="d:\test.xls"

dbms=excel2000 replace;

range=''14#1$";

getnames=yes;

run;

(2)用逻辑库和引擎的方法代码也很简单:

libname tests excel 'D:\tests.xls';

(3)用ACCESS的过程:

proc access dbms=xls2000;
create work.s0001.access;
path='D:\test.xls';
getnames yes;
scantype=yes;
list all;
create work.s001.view;
select data all;
list view;
run;

简单解释一下上面的语句:

用access并不是把数据文件真正的读入到sas中来,而是先建立一个数据访问描述器create work.s0001.access,用来描述sas对数据库的访问,之后建立一个视图create work.s001.view;视图和sas里的数据文件也不一样,相当于一个查询。用access方法访问数据库的好处是不占用硬盘空间,特别是数据文件特别大时,不需要把文件全部读入就可以进行数据访问,同时数据操作的结果也可以写回到数据库中。

(4)odbc的方法:先手工在控制面板里,新建用户dsn,创建相应数据类型的数据源;然后再sas的资源管理器里,手工新建逻辑库odbc。实际应用时,sas系统与大型数据库连接时,这是比较简单可行的方法。


路过

鸡蛋

鲜花

握手

雷人

发表评论 评论 (1 个评论)

回复 dahufa123 2011-4-20 22:13
问一下,2007应该可以通过方法2和方法四导入,我用方法二和方法四是能导入xlsx,但都只有255个变量,为什么?
方法二的程序:
libname boo oledb init_string="Provider=Microsoft.ACE.OLEDB.12.0;
data source=C:\Users\ccemd\Desktop\total.xlsx;
extended Properties=Excel 12.0";

data new;
   set boo.'sheet1$'n;
run;

facelist

您需要登录后才可以评论 登录 | 立即注册

手机版|会员|至尊|接种|公卫人 ( 沪ICP备06060850号-3 )

GMT+8, 2024-5-16 20:36 , Processed in 0.036353 second(s), 6 queries , Gzip On, MemCached On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

返回顶部