hi everyone,
Wondering what I can do to sum the following table
ID Amount
1 1
2 1
3 1
4 1
5 1
6 1
where ID < = ID
result shoud be
ID Aggregated amount
1 1
2 2
3 3
4 4
5 5
6 6
Is there any way I can do that?
thank you,
If I understand what you wish to do, then this should accomplish that.
I created the source table you describe in the DATA step. The PROC SQL step performs a self join on that table and does the group summarization of that result:
data new;
do id=1 to 6;
amount=1;
output;
end;
run;
proc print data=new;
run;
proc sql;
select a.id, sum(a.amount) as aggregateamount
from new as a,new as b
where a.id >= b.id
group by a.id;
quit;
If I understand what you wish to do, then this should accomplish that.
I created the source table you describe in the DATA step. The PROC SQL step performs a self join on that table and does the group summarization of that result:
data new;
do id=1 to 6;
amount=1;
output;
end;
run;
proc print data=new;
run;
proc sql;
select a.id, sum(a.amount) as aggregateamount
from new as a,new as b
where a.id >= b.id
group by a.id;
quit;
Hi David,
thank you for your response.
I just did a test.
then i ran
proc sql;
select a.id, sum(a.amount) as aggregateamount
from new as a,new as b
where a.id >= b.id
group by a.id;
quit;
However,
the result is not what i expected.
Thank you. It works.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.
Find more tutorials on the SAS Users YouTube channel.