Hi,
I am just now playing with the prompt manager feature in SAS EG. I am using a proc sql script in a program task and I want the prompt to populate the where clause of the script. If I only have one variable (field 1 = 'x') it works just fine. However, I want to write it so I can enter multiple values with the prompt. (field 1 in ('x','y')). I get a syntax error when I do this. I have tried putting the quotes in a single text prompt, multiple text promp, etc. but I can't seem to get it to work correctly. Can you guys tell me what I am missing?
If I get you right 🙂
You can use the EG-macro:
proc sql;
select *
from sashelp.class
where %_eg_WhereParam( sex, kalle, IN, TYPE=S, IS_EXPLICIT=0 )
;
quit;
Kalle is the name of my prompt, sex is the variable in sashelp.class.
You can also resolve the macrovariables your self, but then you need some macro coding.
@FredrikE, thank you for your answer. The EG macro worked for what I needed so I appreciate that. I tried to google more information about the syntax of the eg macro but didn't find anything clear. I am curious to know what TYPE and IS_EXPLICIT it is doing. Is there more information on this macro anywhere?
I looked at the coding for resolving myself. Looks like some code I will be interested in diving into.
It's finally time to hack! Remember to visit the SAS Hacker's Hub regularly for news and updates.
Check out this tutorial series to learn how to build your own steps in SAS Studio.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.