After I ran the code below, macro variable &mnew=a,b,c.
How can I get &mnew=’a’,’b’,’c’ by modifing my code.
Thanks - Linlin
data have;
input c_id $;
cards;
a
b
c
;
data _null_;
set have end=last;;
length new $ 30;
retain new;
new=catx(',',new,c_id);
if last then
call symputx('mnew',new);
run;
%put &mnew;
If you can use double quote characters instead of single quote then use the QUOTE() function.
new=catx(',',new,quote(trim(c_id)));
If you need to use single quotes then
new=catx(',',new,"'"||trim(c_id)||"'");
If you can use double quote characters instead of single quote then use the QUOTE() function.
new=catx(',',new,quote(trim(c_id)));
If you need to use single quotes then
new=catx(',',new,"'"||trim(c_id)||"'");
Hi Tom,
Thank you very much!!! - Linlin
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.
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.