I have a large data set like this :
NAME MONEY NB NUMBER
John 300 1 4
Max 250 2 5
Alex 657 1 3
Matt 1520 2 2
For NB = 2, I want to divide NB by 2 , divide MONEY by NUMBER and also keeping observations for NB = 1. I mean how get this :
NAME MONEY NB
John 300 1
Max 50 1
Max 50 1
Alex 657 1
Matt 760 1
Matt 760 1
data want;
set have;
if nb = 2
then do;
money = money / number;
nb = nb / 2;
output;
end;
output;
drop number;
run;
data want;
set have;
if nb = 2
then do;
money = money / number;
nb = nb / 2;
output;
end;
output;
drop number;
run;
What if NB = 3 or higher, is that possible?
In my data set, NB is only equals to 1 or 2
You can replace the
nb = nb / 2;
in my code with
nb = 1;
as there can never be a different outcome.
Are you ready for the spotlight? We're accepting content ideas for SAS Innovate 2025 to be held May 6-9 in Orlando, FL. The call is open until September 25. Read more here about why you should contribute and what is in it for you!
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.