/*
2018/11/29 SAS开发学习 常用语法及关键字
数据集合并:merge set
排序:proc sort
转置:proc transpose
写sql语句:proc sql
频数统计:proc freq
proc hpsummary
统计分析:proc means
proc univariate
proc logistic
*/
/* 数据步与过程步 /
/ 数据步 读取处理数据
常用关键字
data 创建数据集 <参数选项>
SAS 处理数据集语句
run; 结束
set
merge
*/
data students (keep=name sex class address);
length address $30;
input id name $ sex $ class address;
cards;
1001 高溪红 F 1 衡阳神龙大酒店
1002 张明明 M 2 北京市东城区
;
run;
/* data 数据步 及过滤 */
libname jx “d:\jx”;
%let dir=“d:\jx\cust.bat”;
filename fil “(&dir)”;
data jx.open_bj jx.other;
infile fil;
input zone $ open_count city $;
if city in (“北京”, “青岛”) then output jx.open_bj;
else output jx.other;
run;
libname jx “d:\jx”;
%let dir=“d:\jx\cust.bat”;
filename fil “(&dir)”;
data cust;
infile fil;
input zone $ open_count city $;
run;
data jx.bj
set cust (where=(city in (“北京”, “青岛”);
run;
/* set语句 /
data stu;
set student (keep=name sex address obs=1);
run;
/ set以及过滤 /
data stu;
set student (keep=name sex address);
if sex=“F”;
run;
/ merge 语句 将两个或多个数据集进行横向合并
语法: MERGE <数据集1> <选项> <数据集2> <选项>
常用选项: keep drop rename where in
一对一合并和匹配合并
/
data inf_stu;
length address $30;
input id name $ sex $ class address;
cards;
1001 ltf M 01 湖南省衡阳市
1002 hch F 02 湖南省长沙市
;
run;
data score_stu;
input id score;
cards;
1001 99
1002 100
;
run;
proc sort data=inf_stu;
by id;
run;
pr