Thank you, Tom. Now I am much clearer about these macro functions. Really appreciate.
Why your attempt doesn't work:
When you have this
proc print data=admit; where name in ("&name"); run;
And name is
Murry. W, Almers. C
Then the Proc print resolves to
proc print data=admit; where name in ("Murry. W, Almers. C"); run;
Which is not the same as the code that executes because each separate value in the IN comparison needs to be separately quoted.
Yes, you are right, ballardw. Actually I realized this point, but I don't know how to correct it, I mean how to use a macro to solve this problem. Now I got ideas from this post, thanks.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Latest Updates
SAS' Charu Shankar shares her PROC SQL expertise by showing you how to master the WHERE clause using real winter weather data.
Find more tutorials on the SAS Users YouTube channel.