Help using Base SAS procedures

Do loop index variable - output sometimes other times not

Reply
Contributor
Posts: 35

Do loop index variable - output sometimes other times not

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

1500000.07537501261.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

153752004
Super User
Super User
Posts: 6,498

Re: Do loop index variable - output sometimes other times not

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 ).

Contributor
Posts: 35

Re: Do loop index variable - output sometimes other times not

That is correct.

Super User
Posts: 10,483

Re: Do loop index variable - output sometimes other times not

BTW you may want to investigate financial functions in the SAS help. They can save a lot of coding for common calculations.

Ask a Question
Discussion stats
  • 3 replies
  • 227 views
  • 1 like
  • 3 in conversation