Just use a normal DO loop . data above ; informat date mmddyy10. ; format date yymmdd10. ; input id Date Amount Term; cards; 1 1/10/15 120 12 2 2/1/15 60 12 ;;;; data new; set above; do month = 1 to term ; deferred_rev = amount/term; deferred_date=intnx('month',date,month-1,'same'); output; end; run; proc print; run; Note: I removed the S from the loop counter MONTH to avoid confusion on meaning since it is the month number and not the number of months.
... View more