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

Hey guys,

 

I'm unable to understand the reason behind this error and how do I solve it?

 

Here is the code:

%let a= %str(abc|abc);

%let sep= %str();

%let b= %;

%let c= %sysfunc(CATX(&sep.,&b.,&a.,&b.));

%put &c.;

 

My goal is to take an input in variable 'a' (say abc|abc) and give an output such a way that it looks like '%abc|abc%'

 

1 ACCEPTED SOLUTION

Accepted Solutions
PaigeMiller
Diamond | Level 26
%let a = %str(abc|abc);
%let c = %nrstr(%%)&a%nrstr(%%);
%put &=c;

Why %nrstr(%%)? The %NRSTR() function masks the meaning of the % sign, otherwise SAS thinks the % sign is invoking a macro. Why two %% inside the %NRSTR() function? Two percent signs are treated as one, as in the example in the documentation

 

There's never a need to use CATX (or CAT) to concatenate macro variables. Just stick them together as above.

--
Paige Miller

View solution in original post

1 REPLY 1
PaigeMiller
Diamond | Level 26
%let a = %str(abc|abc);
%let c = %nrstr(%%)&a%nrstr(%%);
%put &=c;

Why %nrstr(%%)? The %NRSTR() function masks the meaning of the % sign, otherwise SAS thinks the % sign is invoking a macro. Why two %% inside the %NRSTR() function? Two percent signs are treated as one, as in the example in the documentation

 

There's never a need to use CATX (or CAT) to concatenate macro variables. Just stick them together as above.

--
Paige Miller

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
  • 1 reply
  • 783 views
  • 1 like
  • 2 in conversation