BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
BCNAV
Quartz | Level 8

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;
%byfyear

It 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

 

1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26

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

 

--
Paige Miller

View solution in original post

2 REPLIES 2
PaigeMiller
Diamond | Level 26

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

 

--
Paige Miller
BCNAV
Quartz | Level 8

thanks!

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

How to Concatenate Values

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.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 2197 views
  • 0 likes
  • 2 in conversation