Hey everyone, I have written some codes to calculate the P_margin for 4 different years. the code and the results are shown below. But I would like to have S for year 1 eq to 1. How can I modify this code ?
Thanx so much 🙂
data B;
S=1;
P=0.02;
do year=1 to 4;
S=S*(1-P);
P_marg=S*P;
output;
end;
run;
Try this
data B;
S=1;
P=0.02;
do year=1 to 4;
if year=1 then s=1;
else S=S*(1-P);
P_marg=S*P;
output;
end;
run;
Try this
data B;
S=1;
P=0.02;
do year=1 to 4;
if year=1 then s=1;
else S=S*(1-P);
P_marg=S*P;
output;
end;
run;
How about simply
data B;
S=1;P=0.02;Year=1;P_marg=S*P;output;
do year=2 to 4;
S=S*(1-P);
P_marg=S*P;
output;
end;
run;
There's another way to interpret your request. It's possible you want exactly the same numbers you got from your original program, but with S=1 on the first observation. For that:
data B;
S=1;
P=0.02;
do year=1 to 4;
S=S*(1-P);
if year=1 then replacement_S=1;
else replacement_S = S;
P_marg = S * P;
output;
end;
drop S;
rename replacement_S = S;
run;
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
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.
Ready to level-up your skills? Choose your own adventure.