getting data into SAS
tools
- 键盘宏 记录键盘操作
- 定制
- options
structure
- data step
- proc + name + data=dataset name; step
how to getting data into sas?
data step
data airs;(in work library,temporary)
set sashelp.air;
run;
read many datasets
set statement(vertical)
data help;
set sashelp.eisobj4 sashelp.eisobj5;
run;
when the database have similar name and have some same rules the we can use’-’ to link those database in order to set together as one new database.
在名字相近且有规律的情况下我们使用-符号在set statement中连接,读取多个数据,垂直放置
data nvst;
set sashelp.nvst1-sashelp.nvst5; /*set statement join datasets like vertical ,but merge different*/
run;
merge statement(horizontal way)
proc sort data=dataneme;
by variables;
run;
data name;
merge sashelp.macrs3(in=a) sashelp.macrs5(in=b);
by variables;
if a=b;
run;
/*in option create an auto-variable like in=a, a is an auto-variable, and a exist not null. 只想保留在macrs3中只存在的数据,用in */
keep or drop
data demo1;
set sashelp.demographics;
keep/drop name pop region;
run;
rename
data demo1(keep= name pop isoname rename=(pop=population));
set sashelp.demographics(keep= name pop isoname rename=(pop=population));
keep/drop name pop isoname;
rename pop=population;
run;
在sas中语句的执行在data步骤根据设定好的次序来的
reading raw data file(读取外部数据)
libname
libname name'local';
libname data'C:\Users\apple\Desktop\SAS 经典练习题';
data word;
set data;
run;
proc import
excel file
proc import datafile ='路径+名称包含扩展名' out =输出在library哪里 dbms=xlsx/access/dbf/dlm/dta/sav/csv/jmp replace;
*sheet='sheet name';*(one file have more than two sheets)
run;
txt
proc import datafile=‘路径+拓展名.txt’ out=输出在library的哪里 dbms=dlm(分隔符) replace;
*delimiter=‘09'x;tab建*(mark,在txt中如果出现 tab为分隔符号时候直接用)
*delimiter=‘,’;逗号为分隔符*
input statement;
run;