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?
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;
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;
Thanks Reeza.
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!
Still thinking about your presentation idea? The submission deadline has been extended to Friday, Nov. 14, at 11:59 p.m. ET.
Learn how use the CAT functions in SAS to join values from multiple variables into a single value.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.