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.
SAS Innovate 2025 is scheduled for May 6-9 in Orlando, FL. Sign up to be first to learn about the agenda and registration!
What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.
Find more tutorials on the SAS Users YouTube channel.
Ready to level-up your skills? Choose your own adventure.