Desktop productivity for business analysts and programmers

sas code for multiple prompt value

Occasional Contributor
Posts: 7

sas code for multiple prompt value

I had a problem with writing the sas code in stored process.
Value IN (&integermultiplevalueprompt);
Is that true? And why it takes only the first variable and not all the integer list.
Frequent Contributor
Posts: 144

Re: sas code for multiple prompt value

I think that if you want to used in a macro, you must create macro with option minoperator.
%macro example()/ minoperator;

Posts: 676

Re: sas code for multiple prompt value

In case you have SAS Enterprise Guide available you can use the query builder to create a query that will subset the data based on your prompt. See Screenshot below. I have marked the relevant things when building a filter for a prompt.


A multiple value prompt will create more than one macro variable. Find more information on this topic in the doc here



Trusted Advisor
Posts: 1,213

Re: sas code for multiple prompt value

As @Bruno_SAS mentioned, the key point is that multiple value prompts create multiple macro variables, not a single variable holding a list of values.  I use a macro to create the list I want, something like:


%macro ConcatenateSelectionList
  ,dlm=%str( )

%local i return ;

%if &&&prompt._Count >= 2 %then %do i = 1 %to &&&prompt._Count ;
  %if &i=1 %then %let return=&&&prompt&i ; 
  %else          %let return=&return&dlm&&&prompt&i ;   
%end ;
%else %if &&&prompt._Count = 1 %then %do ;
  %let return=&&&prompt ;
%end ;
%else %if &&&prompt._Count = 0 %then %do ;
  %let return= ; %*null ;
%end ;
%else %put ER%str()ROR: USER &=&prompt._Count;


%mend ConcatenateSelectionList;


I blogged about over at

Ask a Question
Discussion stats
  • 3 replies
  • 4 in conversation