I have the following:
%macro byfyear;
proc sql noprint;
select distinct fy
into :ifyear1 - :ifyear99
from IBS.OVR;
%let fyearcnt = &sqlobs;
quit;
%do i = 1 %to &fyearcnt;
%if &&ifyear&i = 2017 %then %do;
data EGTASK.OVRFY&&ifyear&i(where=(fy=&&ifyear&i));
set IBS.OVR;
run;
%end;
%else %do;
data EGTASK.OVRFY&&ifyear&i(where=(fy=&&ifyear&i));
set IBS.OVR;
run;
%end;
%end;
%mend byfyear;
%byfyearIt works fine. So if the year is 2017 the dataset name will be OVRFY2017. What I would like at
%if &&ifyear&i = 2017 %then %do
is to change it so the dataset name appends an A to the file name, so it would be OVRFY2017A. This means I need to add the A to the command:
data EGTASK.OVRFY&&ifyear&i(where=(fy=&&ifyear&i));
specifically the part: EGTASK.OVRFY&&ifyear&i
How can I do this? I have tried EGTASK.OVRFY&&ifyear&iA and EGTASK.OVRFY&&ifyear&i.A
Thanks
-Bill
I have tried EGTASK.OVRFY&&ifyear&iA and EGTASK.OVRFY&&ifyear&i.A
You need two dots before the A, because your macro variable begins with two ampersands
EGTASK.OVRFY&&ifyear&i..A
I have tried EGTASK.OVRFY&&ifyear&iA and EGTASK.OVRFY&&ifyear&i.A
You need two dots before the A, because your macro variable begins with two ampersands
EGTASK.OVRFY&&ifyear&i..A
thanks!
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.