登录
首页精彩阅读SAS的数据导入导出大法
SAS的数据导入导出大法
2017-07-06
收藏

SAS的数据导入导出大法

正所谓巧妇难为无米之炊,数据分析首要的问题是数据的获取。 SAS 作为老牌的统计软件发展至今,已经集成了丰富的数据获取与管理功能组件。本章我们就SAS如何获取数据做重点介绍,并顺带介绍 SAS 如何导出数据文件。

3.1 读取对象与读取方式

说到数据读取这个问题,我们可以从 SAS 读取的对象来说 , 当然也可以从读取的方式来说。从 SAS 读取的对象来说,我们可以把外部数据文件归为四类。
(1)数据库管理系统(Data Base Management System, DBMS)数据文件,市面的DBMS 非常之多,常见的如 DB2、 Sybase、 mySQL、 MS SQL Server、 Oracle、 Teradata 以及 Hadoop 等。
(2)单机文件(PC file),单机文件应是相对 DBMS 数据文件而言的,常见的单机数据文件包括 MS Access、 MS Excel、 Lotus、 DBF 以及大家更熟悉的 JMP、 SPSS、Stata、 Paradox 等软件的数据文件。
(3)平面文件(Flat file),这是一种记录间没有结构关系的文件,一个 Flat file 既可以是纯文本文件 (Plain text file),也可以是二进制文件 (Binary file),对于我们而言,最常见的是纯文本 TXT 文件和 CSV 文件。
(4)流式数据(Instream data),即 SAS 程序中 DATA步里 DATALINES语句后的数据行。

从 SAS 读取的方式来说,笔者总结为 7 类(更准确地讲,应该是 SAS 和外部数据交互的方式,因为不仅仅读入,还有导出等其他交互操作)

(1) LIBNAME 语句, LINAME 语句其实是动用了我们前面提到的数据库引擎来实现 SAS 与其他数据库文件的互通,这是 SAS 获取外部数据库文件最为快速、直接的方式。
(2) SQL 直通设施(SQL pass-through facility),这是直接在 SAS 会话中使用其原生 SQL 语法的方式。
(3) ACCESS/DBLOAD 过程,这是间接访问外部数据库数据文件的方式,不过 SAS已不再推荐。
(4) IMPORT/EXPORT 过程,前面的三种方式都是包含在 SAS/ACCESS 模块中的, IMPORT/EXPORT 过程则是 Base SAS 与外部数据集沟通的方式,当然我们在利用IMPORT/EXPORT 过程时,如果安装且拥有 SAS/ACCESS 模块的权限,能够支持的数据类型会更丰富。
(5) INFILE+INPUT 语句,这是通过 DATA 步编程的方式读取外部数据或者流式数据。
(6) INPUT+DATALINES 语句,这是通过 DATA 步编程的方式读取流式数据。
(7) IO 函数,通过输入输出函数打开数据文件,这是一种比较少见的方式

3.2 数据读取策略

在实际工作中,我们的思维模式通常是碰到一种数据,然后思考采用何种方式读入。因此,笔者将数据类型和读入方式做一个综合,从需求出发找解决方法,即从数据类型出发,总结可用的读入方式,并推荐合适的读入方式。具体见表 3-1 的总结。


数据分析咨询请扫描二维码

客服在线
立即咨询