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?
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
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.
Ready to level-up your skills? Choose your own adventure.