proc sql;
create table temp1 as
select mark,x,sum(x) as xsum
from temp
group by mark
order by mark
;
quit;
data temp2;
set temp1;
by mark;
retain y;
if first.mark then y=x;
else y+x;
if y<xsum*0.3 then classify=0;
else if y<xsum*0.7 then classify=1;
else classify=2;
drop y xsum;
run;
不知道是否是你要的结果?