Hi,
I am trying to use macro to do a one year forward performance track for the origination period 201202 - 201207. So if the origination month is 201202, i will track the month from 201202 to 201301 to see how origination performs. After I run the code, there is warning ' This SAS global statement is not support in proc sql' which causes my proc sql not working properly.
%macro monthly (first,last);
%do mon=&first &to &last;
%let monthend=%eval(&mon+99);
proc sql;
create table test&mon as
select*
from aaa_&mon as a left join master_file
on num=num;
where &mon<=YEAR_MONTH<=&monthend;
quit;
%end;
%mend monthly;
%monthly(201202,201207);
Have any idea what causes the warning?
Thanks in advance!
Frank
I believe the %do block is not correct, you have used &to instead of %to. Please check and change it to %to.
also remove the semicolon after num=num; i.e., before the where clause.
Please check the updated code below
%macro monthly (first,last);
%do mon=&first %to &last;
%let monthend=%eval(&mon+99);
proc sql;
create table test&mon as
select*
from aaa_&mon as a left join master_file as b
on a.num=b.num
where &mon<=YEAR_MONTH<=&monthend;
quit;
%end;
%mend monthly;
%monthly(201202,201207);
Thanks,
Jagadish
I believe the %do block is not correct, you have used &to instead of %to. Please check and change it to %to.
also remove the semicolon after num=num; i.e., before the where clause.
Please check the updated code below
%macro monthly (first,last);
%do mon=&first %to &last;
%let monthend=%eval(&mon+99);
proc sql;
create table test&mon as
select*
from aaa_&mon as a left join master_file as b
on a.num=b.num
where &mon<=YEAR_MONTH<=&monthend;
quit;
%end;
%mend monthly;
%monthly(201202,201207);
Thanks,
Jagadish
Thanks so much. It works now!
Don't miss out on SAS Innovate - Register now for the FREE Livestream!
Can't make it to Vegas? No problem! Watch our general sessions LIVE or on-demand starting April 17th. Hear from SAS execs, best-selling author Adam Grant, Hot Ones host Sean Evans, top tech journalist Kara Swisher, AI expert Cassie Kozyrkov, and the mind-blowing dance crew iLuminate! Plus, get access to over 20 breakout sessions.
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.