以SAS 9.4 64位为例。主要有两种导入方式:
1、手动点选导入。
(1)点击“文件”---“导入数据”---“standard data source”---"Microsoft access Database"
(2)之后会跳出如下对话框:
这里“Database”就是需要导入的数据库所对应的路径,之后的选项应当是相关访问数据库时候要的密码等,填好后点击“OK”
(3)然后如下对话框会d出,让使用者选择导入数据库中的哪一张表。选择好后点击“Next”
(4)之后是选择在SAS数据中建立数据集的选项了。
选择想要建立文件夹的逻辑库名和数据集名后既可以点击next。
(5)之后又会d出一个界面
这个界面是询问是否需要将导入数据的编码保存,如果想要保存则点击“Broswe”键选择路径后点击“fInish”,如果不要保存则直接点击“fInish”。
这样就完成了导入,只要等待SAS将数据库读入就行(数据库越大耗费时间越长,半小时都有可能)。
12、代码运行导入。
这里的代码其实就是第一种方法中最后一步中可以选择保存的导入数据编码。
代码如下:
PROC IMPORT OUT= WORK.a
DATATABLE= "2010Table"
DBMS=ACCESS REPLACE
DATABASE="E:\Study\数据 .mdb"
SCANMEMO=YES
USEDATE=NO
SCANTIME=YES
RUN
主要修改的地方就是“WORK.a”(SAS拟存储数据的数据集名)、"2010Table" (数据库中的表名)、"E:\Study\数据 .mdb"(数据库路径)三个。其他一般不需要修改,除非数据库有访问密码等。
需要注意的是不同版本的SAS对数据库文件支持度不同,9.2貌似只支持97-03格式的access(.mdb),后续版本则支持10的版本(.accdb)。
使用data步 *** 作,可以将SAS数据集写到数据库中
首先有数据库对应的逻辑库吗?没有的话要先用libname语句连接
其次sas数据集在哪个逻辑库中?
假设数据库对映逻辑库为MTC,sas数据集所在逻辑库为work,代码如下
libname MTC ....连接数据库语句.... //不同的数据库有不同的连接语句data MTC.sastest //在逻辑库MTC中创建sastest表
set work.sastest //将work逻辑库中的sastest放到MTC的sastest表中
run
[TOC]
SAS中数据导入可以有四种类别
建立SAS数据集的的5种方法
以导入CSV文件为例
若文件为原始文件(例如文本文件),SAS也可以很方便的读取。
这种数据类型在第三小节提到了,也就是原始数据文件中的所有值之间都至少有一个空格分隔,合适的方法是使用列表输入(自由格式输入)。
列表输入的局限性。必须读取全部数据,不能跳过不需要的值;任何缺失都必须用句点标识;字符型数据长度默认不能超过8个字符且不能有内嵌空格;不太适合读取日期格式数据。
数据的值或者缺失值的句点之间没有空格(或者其他分隔符),则无法使用列表输入来读取数据。但是,如果每个变量值都能在数据行的相同位置找到,就可以用列输入来读取。这些数据应是标准数值数据(数字、小数点、正负号、科学计数法),带有内嵌逗号(100,000)和日期格式的数值不是标准数值类型。
列输入对比列表输入的优势:值之间无须空格;缺失值可以留空;字符型数据可以内嵌空格;可以跳过不需要的变量。
在第4节中提到,用列表或列输入时非标准字符不能正确识别,如日期,内嵌逗号的数字等。
输入格式的三种基本类型:字符、数值和日期。
注 意 :
参考文献
The little SAS Book, Fifth Edition.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)