Я хочу рассчитать сумму по var1.Не могли бы вы использовать два метода для расчета.SQL и данные идут с if first.var1.
data have;
input var1 var2$ var3;
datalines;
1 a 3
1 a 4
1 a 3
2 b 5
2 b 3
3 c 1
;
run;
data want;
input var1 var2 $ var3 sum_by_var1;
datalines;
1 a 3 10
1 a 4 10
1 a 3 10
2 b 5 9
2 b 3 9
3 c 1 9
;
run;
моими двумя способами:
Приведенный ниже код работает с этим небольшим набором данных, но мне интересно, будет ли он работать с большими наборами данных, потому что трудно проверить результаты.
proc sql;
create table new as
select
*
,sum(var3) as sum_by_var1
from have
group by var1
order by var1
;
run;
Код ниже не работает
data new2;
set have;
by var1;
if first.var1 then
by_var1 + var3;
run;