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?
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
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.