Solved
Contributor
Posts: 36

# multiple macro variables through a loop

I am trying to create some macro variables for multiple months as follows:

%let datep = date();

data _null_;

set b (obs=1);

prv1mnt = put(intnx('month',&datep.,-1,'beginning'),monyy7.);

call symput('prv1mntm',prv1mnt);

prev_1_mon_dt =intnx('month',&datep.,-1,'beginning');

prev_1_mon = year(prev_1_mon_dt)*100 + month(prev_1_mon_dt);

call symput('pr1mn',prev_1_mon);

run;

I need to do the above processing for last 12 months. Can it be done through loop?

Accepted Solutions
Solution
‎02-28-2015 02:47 PM
Super User
Posts: 23,724

## Re: multiple macro variables through a loop

Not 100% sure what you're asking, but wouldn't a macro do loop work?

%do i=1 %to 12;

%let datep = %sysfunc(intnx(month, %sysfunc(date()), -1*&i, b));

*rest of code;

%end;

All Replies
Solution
‎02-28-2015 02:47 PM
Super User
Posts: 23,724

## Re: multiple macro variables through a loop

Not 100% sure what you're asking, but wouldn't a macro do loop work?

%do i=1 %to 12;

%let datep = %sysfunc(intnx(month, %sysfunc(date()), -1*&i, b));

*rest of code;

%end;

Contributor
Posts: 36

## Re: multiple macro variables through a loop

Thanks Reeza.

🔒 This topic is solved and locked.