Hi guys,
If I run the following SAS code ,because there is a "(" in the parameter, I can't get the result I need . please help.
Thanks!
%macro test(a);
%put value of a is: &a;
%mend test;
%test(a=njhl5u#$%^&*(IJK44t95y7u45n64);/*this one doesn't work*/
Mike,
I sent you a solution in your previous thread, but I'll repeat it here:
%macro test(a);
%let a2=%nrbquote(&a);
%put a: &a2;
%mend test;
%test(a=aa)
%test(a=njhl5IJK44t95y7u45n64)
%test(a=%str(njhl5u#$%^&*%(IJK44t95y7u45n64))
Art
Mike,
I sent you a solution in your previous thread, but I'll repeat it here:
%macro test(a);
%let a2=%nrbquote(&a);
%put a: &a2;
%mend test;
%test(a=aa)
%test(a=njhl5IJK44t95y7u45n64)
%test(a=%str(njhl5u#$%^&*%(IJK44t95y7u45n64))
Art
Mike,
You properly identified the problem as the unbalanced parenthesis. Art properly identified one possible solution, although his example illlustrates how quoting functions require you to refer to ( as %( within the quoting function.
If it is an acceptable solution, get rid of the macro definition.
%let a=njhl5u#$%^&*(IJK44t95y7u45n64;
%put &a;
A partial solution might be possible as well:
%let a=njhl5u#$%^&*(IJK44t95y7u45n64;
%test (a=%superq(a))
Does this help at all?
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 the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.
Find more tutorials on the SAS Users YouTube channel.