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
Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.
Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.
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.