## Loop to create number sequence and date

Solved
Regular Contributor
Posts: 178

# Loop to create number sequence and date

data mdm;

do i=232 to 280;

output;

end;

format dt mmddyy10.;

run;

The above datastep creates a number sequence starting at 232 and ending at 280

The dataset I am working defines a date based on the number in month sequence.  For example

232 represents 01/31/15, 233 represents 02/28/15 etc.... i represents the numberic sequence.  How can I add a date sequence starting at 232 and a variable say dt and have it mirror the number sequence?  Also as you can see the number ends at 280, how can I set it up to continue for future months,  say 232 to the previous month even when the previous month becomes greater than 280???

Accepted Solutions
Solution
‎06-19-2017 08:36 AM
Posts: 1,147

## Re: Loop to create number sequence and date

``````data mdm;
new='31Jan2015'd;
do i=232 to 280 by 1;
j=i-232;
output;
new=intnx('month',new,1+j,'e');
end;
format new date9.;
run;``````
Thanks,
Jag

All Replies
Solution
‎06-19-2017 08:36 AM
Posts: 1,147

## Re: Loop to create number sequence and date

``````data mdm;
new='31Jan2015'd;
do i=232 to 280 by 1;
j=i-232;
output;
new=intnx('month',new,1+j,'e');
end;
format new date9.;
run;``````
Thanks,
Jag
Super User
Posts: 6,751

## Re: Loop to create number sequence and date

Here's a variation on the theme:

data want;

do i=232 to 280;

date = intnx('month', '31jan2015'd, i - 232, 'e');

output;

end;

drop i;

run;

For your second question, you'll have to give an example of what "the previous month" means. I'm sure it's possible, but I'm not sure what needs to happen.

☑ This topic is solved.