Hi, I need to combine the value of 2 rows based on one variable duplicate "416"
number | flagACQ | flagRET | flagBCB | SUM_of_SUM_of_ACTV_AMT |
416 | 0 | 0 | 1 | 13.20 |
416 | 0 | 1 | 0 | 15.00 |
so the output is like
number | flagACQ | flagRET | flagBCB | SUM_of_SUM_of_ACTV_AMT |
416 | 0 | 1 | 1 | 28.20 |
Hi,
Please try this:
proc sql;
create table want as
select number,sum(flagACQ) as flagACQ,sum(flagRET) as flagRET,sum(flagBCB) as flagBCB,
sum(SUM_of_SUM_of_ACTV_AMT) as SUM_of_SUM_of_ACTV_AMT from have
group by number;
quit;
Hi,
Please try this:
proc sql;
create table want as
select number,sum(flagACQ) as flagACQ,sum(flagRET) as flagRET,sum(flagBCB) as flagBCB,
sum(SUM_of_SUM_of_ACTV_AMT) as SUM_of_SUM_of_ACTV_AMT from have
group by number;
quit;
Hi, I need to combine the value of 2 rows based on one variable duplicate "416"
number | flagACQ | flagRET | flagBCB | SUM_of_SUM_of_ACTV_AMT |
416 | 0 | 0 | 1 | 13.20 |
416 | 0 | 1 | 0 | 15.00 |
so the output is like
number | flagACQ | flagRET | flagBCB | SUM_of_SUM_of_ACTV_AMT |
416 | 0 | 1 | 1 | 28.20 |
Thanks
Sql syntax is doing the same as you described. If you print data set "want" you will have the required output.
proc print data=want;
run;
From your example it is not clear whether you want SUM or MAXIMUM value for the variables flagACQ flagRET and flagBCB.
What if your example data looked like?
number | flagACQ | flagRET | flagBCB | SUM_of_SUM_of_ACTV_AMT |
416 | 0 | 0 | 1 | 13.20 |
416 | 0 | 1 | 0 |
15.00 |
416 0 1 0 12.00
What would the result be?
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.