Eg 1.
data compound;
Amount=50000;
Rate1=.075;
Yearly=Amount*Rate1;
do i=1 to 12;
Monthly+((Monthly+Amount)*(Rate1/12);
end;
run;
proc print data=compound; run;
output:
O Amt Rate1 Yrly Mnthly
1 | 50000 | 0.075 | 3750 | 1261.77 |
---|
Why isn't I = 13 in the output?
Eg 2.
Here yearly does in fact show in the output and is incremented +1 _n_ ....
data invest;
Capital=0;
do Year=2001 to 2003;
Capital=5000;
Capital+(Capital*.075);
end;
run;
proc print data = invest; run;
Output:
O Cap Yr
1 | 5375 | 2004 |
---|
Because the typo in the first data step makes it not run. So it didn't overwrite the previous version of the data set named COMPOUND.
1244 Monthly+((Monthly+Amount)*(Rate1/12);
-
79
ERROR 79-322: Expecting a ).
That is correct.
BTW you may want to investigate financial functions in the SAS help. They can save a lot of coding for common calculations.
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.