分析哥 发表于 2016-3-24 22:59 
proc sort data=m;
by age;
if first.age then count=1;
非常感谢,这一段很有启发意义,尤其是那个count,这段还有一点点小问题,sort下面的if不能被执行,受你启发,我写了一个新的算法可以解决这个问题,但有点冗杂,尚需优化。
data m;
set sashelp.class;
run;
data a;
do id= 1 to 19;
output;
end;
run;
data aa;
merge a m;
run;
proc sort data=aa out=aaa;
by age;
run;
proc rank data=aaa out=aaaa;
var id;
ranks count;
by age;
run;
data b;
set aaaa;
if count=X then output;
run;