如果您将proc摘要与class-clause一起使用,它将按照 class -clause的顺序对您的观察进行排序。
proc summary data=One;
by var_1;
class var_2 var_3 var_4;
output out = Two(drop= _freq_ _type_);
run;
1)我是对的吗?
2)如果我没有指定所有字段会发生什么?
proc summary data = Three(keep= var_1 var_2 var_ 3 var_4 var_5 var_6);
by var_1;
class var_2 var_3;
output out = Four(drop= _freq_ _type_ );
run;
3)哪个处理速度更快:proc summary
或proc sort
?
答案 0 :(得分:5)
这里有几点需要注意。
希望这有帮助。
这是我最后一点的一个例子。使用_all_
要求返回数据集中的所有变量,这会在日志中为先前在CLASS语句中列出的变量创建警告,但可以安全地忽略它。基本上我懒得不想为宽数据集分别指定剩余的变量。
data have;
input unique_id custno log_dt :datetime15.;
format log_dt datetime15.;
cards;
1 123 01jul2012:13:23
2 265 01jul2012:13:56
3 342 01jul2012:15:02
4 123 01jul2012:17:12
5 342 01jul2012:18:33
6 265 02jul2012:08:41
7 123 02jul2012:10:14
8 265 02jul2012:11:05
;
run;
proc summary data=have nway;
class custno log_dt;
format log_dt dtdate9.;
output out=want (drop=_:) maxid(log_dt(_all_))=;
run;