data temp1;
out1=0;
out2=0;
do _n_=1 by 1 until(last.level);
set raw;
by level;
out1+flag;
out2+1;
end;
do until(last.level);
set raw;
by level;
output;
end;
run;
proc sql;
create table temp2 as
select *,sum(flag) as out1,count(*) as out2
from raw
group by level
order by level desc;
quit;[/code:mr23ugi5]作者: shiyiming 时间: 2010-5-26 10:22 标题: Re: 请问各位高手如何实现下面数据处理的程序,附有结果 hopewell真是厉害啊,如此短的时间里就提出了2种方法,而且非常简洁。非常感谢啊
但是还有如下几个问题,希望hopewell解答
[quote:3qvgp1xd]3、在第一种方法中我看到顺序有原来的降序,变成了升序[/quote:3qvgp1xd]在by statement中加descending, order by只能用在proc sql
[code:3qvgp1xd]data temp1;
out1=0;
out2=0;
do _n_=1 by 1 until(last.level);
set raw;
by descending level;
out1+flag;
out2+1;
end;
do until(last.level);
set raw;
by descending level;
output;
end;
run;[/code:3qvgp1xd]