Loop to create number sequence and date

Accepted Solution Solved
Reply
Frequent Contributor
Posts: 143
Accepted Solution

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
Trusted Advisor
Posts: 1,137

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

View solution in original post


All Replies
Solution
‎06-19-2017 08:36 AM
Trusted Advisor
Posts: 1,137

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: 5,511

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.

Need further help from the community? Please ask a new question.

Discussion stats
  • 2 replies
  • 164 views
  • 1 like
  • 3 in conversation