data shouru1;
input name $ 1-5 s z;
cards;
张三 1000 200
张三 2000 300
李四 4000 600
;
run;
proc sql;
create table end as
select name , sum(s) as shouru,
sum(z) as zhichu
from shouru1
group by name;
quit;
data shouru1;
input name $ 1-5 s z;
cards;
张三 1000 200
张三 2000 300
李四 4000 600
;
run;
proc sort data=shouru1;
by name;
data result;
set shouru1;
by name;
if first.name then do;
shouru=0;
zhichu=0;
end;
shouru+s;
zhichu+z;
if last.name then output;
run;
写的都不错,xgghxkhuang 的方法利用了SQL的分组合并,而jimmy782的方法则是用了数据之间的运算。
相信从执行效率上来看jimmy782的方法要比前者要快。但从使用上还是xgghxkhuang 的方法适用。
data result;
set shouru1;
by name;
if first.name then do;
shouru=0;
zhichu=0;
end;
shouru+s;
zhichu+z;
if last.name then output;
run;