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

Is there a function/routine in SAS to translate a list of unquoted inputs into an element wise quoted list. A crude example is shown below.

 

%let t1 = 20105 38163 5947127 10292;
%let t2 = %sysfunc(function(&t1.));

%put t2=&t2.;

t2="20105" "38163" "5947127" "10292"

This list is being input as a parameter to a macro, so I'm hoping to do this step as a input cleanse for use in a where/in statement on a character variable.

 

Thanks.

1 ACCEPTED SOLUTION

Accepted Solutions
FreelanceReinh
Jade | Level 19

How about this?

%let t1 = 20105 38163 5947127 10292;
%let t2 = "%sysfunc(tranwrd(&t1., %str( ), %str(" ")))";
%put &=t2.;

View solution in original post

2 REPLIES 2
FreelanceReinh
Jade | Level 19

How about this?

%let t1 = 20105 38163 5947127 10292;
%let t2 = "%sysfunc(tranwrd(&t1., %str( ), %str(" ")))";
%put &=t2.;
JoshB
Quartz | Level 8

I would not have know the quotes around the %sysfunc() would remain. Excellent. Thank you.

SAS Innovate 2025: Register Today!

 

Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.


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