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.
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.
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.