SAS访问外部数据文件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DATAFILE=
规定要读入外部文件的地址及名称
TABLE=
规定外部数据文件中的表名
OUT=
规定要输出的SAS数据集
DBMS=
规定外部数据文件格式的标识名
REPLACE
规定替换已存在文件
应用举例
例4.1 导入EXELL数据表。 proc import out=tb31 datafile= "D:\ResDat\table.xls" dbms=excel2000 replace; range="'3#1$'"; /*导入表3.1 */ getnames=yes; run;
由ORACLE数据库创建访问描述器的一般格式:
PROC ACCESS DBMS=Oracle; CREATE 逻辑库名.访问描述器名.ACCESS; USER=Oracle用户ID; ORAPW=Oracle服务器上的用户密码; TABLE=Oracle表名; PATH=Oracle驱动器、结点和表的别名或库名; <RENAME=”列名”=SAS变量名>; <DROP 列1 列2 …>; <LIST ALL>; RUN;
例4.2 从文本文件的第二行导入数据。 proc import out=b_share_1 datafile= "D:\ResDat\b_shares_1.txt" dbms=dlm replace; getnames=no; datarow=2; run;
通过LIBNAME语句和库引擎
通过LIBNAME语句和库引擎连接的外部文件有两类:
通过ACCESS过程
通过ACCESS过程可以实现对外部数据文件的透明访问和读写。 SAS/ACCESS可以访问的主要外部数据文件:
IMS-DL-IS Rdb Informix
QL/DS Oracle DBF/DIF
DB2 Sybase Excel
ADABAS Ingres ODBC
ACCESS过程访问外部数据须分两步完成:
创建访问描述器
语句格式: PROC ACCESS DBMS=DBF|DIF|WKn|XLS|…; CREATE libref.member-name.ACCESS; required database-description statements; optional editing statements; RUN; 创建访问描述器的SAS程序对于不同的外部文件 有不同的形式。下面给出几种外部文件访问描述 器的创建方法。
例4.5 连接SAS6版本数据集。 libname datav6 V6 'd:\ResDat'; run; 例4.6 连接SPSS数据集。 libname spss spss 'd:\ ResDat '; run;
读入流行数据库(DBMS)
读入流行数据库时需要知道这些数据库的简单操作。同样可 以通过菜单建立新逻辑库和利用LIBNAME来实现。 例4.7 用LIBNAME建立与ORACLE DBMS的连接。 libname oralib oracle user=ZSW password=ZSW321 path=ora7db dbindex=y; 例4.8 取消逻辑库指定。 libname oradb clear; 例4.9 与DB2的连接。 libname db2lib db2 authid=ZSW ssid=ZSW321;
由DBF文件创建访问描述器的一般格式:
PROC ACCESS DBMS=DBF; CREATE 逻辑库名.访问描述器名.ACCESS; PATH=’DBF文件的地址和全名’; Run;
由EXELL表创建访问描述器的一般格式:
PROC ACCESS DBMS=XLS; CREATE 逻辑库名.访问描述器名.ACCESS; PATH=’XLS文件的地址和全名’; <GETNAME=Y|N>; <SKIPROWS=跳过开始的行数>; <RENAME=”列名”=SAS变量名>; <DROP 列1 列2 …>; <LIST ALL>; /*规定运行时在LOG窗口显示列的信息 */ RUN;
通过IMPORT过程
IMPORT过程可以导入的外部数据文件: PC格式的数据文件; 以固定字符为字段分隔符的文本文件。
句法与选项说明
PROC IMPORT DATAFILE="filename“ | TABLE="tablename" OUT=SAS-data-set <DBMS=identifier><REPLACE>; 选项说明:
▪ 创建访问描述器(Access Descriptor); ▪ 创建基于外部数据文件的数据视窗(View)。
ACCESS过程访问外部数据流程图
其它平台数据库文件
访问描述器
Access数据视图
Access数据视图
Access数据视图
SAS程序
SAS系统通过不同的方法建立不同的数据视窗,除了这里用 ACCESS过程建立ACCESS视窗外,还有用数据步和SQL过程建立的视 窗。它们都能透明访问不同平台上的数据对象。
SAS8.2系统支持的库引擎
BMDP ODBC REMOTE SYBASEFra Baidu bibliotekV8
CRSPACC OLEDB REMOTE6 TERADATA XML
DB2
FAMECHLI
ORACEL OSIRIS
REUTERS SPSS
V6
V604
XPORT
读入其它版本或分析软件数据集
可 以 通 过 菜 单 建 立 新 逻 辑 库 和 利 用 LIBNAME 语句连接其它SAS版本或分析软件的数据集。
▪ 其它SAS版本或分析软件的数据集; ▪ 流行数据库(DBMS)。 语句格式:
LIBNAME libref SAS/ACCESS-engine-name
<SAS/ACCESS-engine-connection-options>
<SAS/ACCESS-engine-LIBNAME-options>;
第4章 访问外部数据文件
清华大学经管学院 朱世武
访问外部数据文件方法
除了前面两章介绍的读入外部数据文件的方法外 ,SAS系统访问外部文件,特别是流行数据库文 件的方法还有以下几种。 ▪ 通过IMPORT过程; ▪ 通过LIBNAME语句和库引擎; ▪ 通过ACCESS过程; ▪ 通过ODBC或远程软件平台。