@clarkchong1 wrote:
Thanks for the suggestion!
I need to execute a macro functions with various input, with input defined by items in a comma delimited list supplied by the user. So I can't just do it in a data step.
I hate commas in macro lists, especially if that list is then a parameter to another macro or macro function. It's nothing but headaches.
You said "comma delimited list supplied by the user":
1) Is that a macro variable supplied by the user, or some other "list"?
2) Can the user supply it as just a delimited (space or some other character) list?
I prefer "injecting" commas at "run time" via the %seplist macro:
https://github.com/scottbass/SAS/blob/master/Macro/seplist.sas
Here are some sample invocations:
%put %seplist(a b c);
%put %seplist(a b c,nest=q);
%put %seplist(a b c,nest=qq);
%put %seplist(a b c,prefix=a.),%seplist(d e f,prefix=b.); * say for a SQL SELECT column list ;
%put %seplist(%bquote(a,b,c),indlm=%str(,)); * if you insist on embedded commas then you have to quote the argument ;
%put %seplist(hello scott^how are you^i am well thanks,indlm=^); * if items contain spaces ;
%put %seplist(hello scott^how are you^i am well thanks,indlm=^,dlm=|);
... View more