您的位置:首页 > 其它

sas实例合集

2015-07-06 13:34 621 查看
输出数据集的最后一条观测值

*使用nobs+point选项,这个更划算,第二个必须把整个数据集全部读入;
data b;
set sashelp.class nobs=last point=last;
output;
stop;
run;

*使用end选项;
data a;
set sashelp.class end=last;
if last then output;
run;


输出by组的第一条或最后一条观测值到新的数据集

*获得最后一条用last,也可以在排序的时候就用降序排序;
data a;
input x y @@;
cards;
1 20 1 10 1 30 2 40 2 50
;
run;

/*proc sort data=b nodupkey out=c;by x;run;*/

proc sort data=a out=b;by x y;run;
data b_if;
set b;
by x;
if first.x then output;
run;


/*效率高于and?我觉得这个效率一样*/
if status1 = 1 then
if status2 = 5 then
if status4 = 9 then output;

if status1=1 and status2=5 and status4=9 then output;

/*效率高于or,or需要判断所有的*/
if status in (1 2 3) then x=1;

if status=1 or status=2 or status=3 then x=1;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: