学不止,更不止。小伙伴们一起加油啊!
- 课程列表
Lesson 1 Essential
Lesson 2 Acessing data
Lesson 3 Exloring and Validating data
Lesson 4 Preparing data
Lesson 5 Analyzing and Reporting on Data
Lesson 6 Exporting Results
Lesson 7 Using SQL in SAS - 视频
操作平台:SAS Studio
Lesson 2 Acessing data:
一、导入structured data
1. Use a library to read SAS file
注:如何新建一个空library?
libname libref "path" #使用libname语句,其中libref是指新建的library的名字。
开始正题:
libname libref base "path";#从某路径中读入SAS格式(因为engine=base)的数据,放在名为libref的library中
proc contents data=libref.table_name;#proc contents命令查看该library中SAS table的table properties
run;
libname libref clear;#清除libref这个library,单里面的数据仍然保留,再运行libname libref "path"时该library还会出现.
1. Use a library to read EXCEL file
options validvarname=V7;#保证excel数据的列名中的空格在读取后变成'_'
libname libref XLSX "path/file_name";#这个excel file里包含table1/2/3...,相当于每个excel文件中包含很多sheets. 这里区别与读取SAS文件时的路径,excel要多一步定位到excel file. SAS只需定位到file所在路径,因为一个table就是一个file.
proc contents data=libref.table1_name;#相当于查看table properities
run;
libname libref clear; #删除library之后,数据仍然保留,rerun一遍libname语句,library和数据表都会出现。
注意:sas file的engine是base, excel file的engine是xlsx.
读取的路径,Excel是file里包含着若干个table,因此读取的路径要具体到table的上一级,即“path/file_name”. SAS file直接是一个数据表,因此table的上一级就是“path”.
二、导入unstructured data
1.
(1)generally导入data: 注意replace和guessingrow的用法
- replace保证当导入的file有变动,想重新导入的时候,可以overwrite上次的file.
- 什么是gussingrows:
By default, GuessingRows is 20, which means SAS uses the first 20 rows of the Excel spreadsheet to determine whether the data within a column is character or numeric, and what its length should be. 如果默认为20,根据前20行确定每个column的内容长度为8,则会导致20行之后名字超过8个字符的部分显示不出来。 一般如果table为2784行,为了保证每一列的内容都能显示完全,可以设置guessingrows=3000.
(2) 导入excel data: 增加sheet命令,指定导入excel file中的哪一个sheet