Desktop productivity for business analysts and programmers

sas code for multiple prompt value

Reply
Occasional Contributor
Posts: 7

sas code for multiple prompt value

Hi,
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.
Regards
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;

%mend;
SAS Super FREQ
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 http://support.sas.com/documentation/cdl/en/stpug/68399/HTML/default/viewer.htm#n1ffjd8bu6we10n1neag...

 

Capture.PNG

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
  (prompt
  ,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;

&return

%mend ConcatenateSelectionList;

 

I blogged about over at bi-notes.com: http://bi-notes.com/2013/08/sas-stored-process-taming-selection-list-prompts/

Ask a Question
Discussion stats
  • 3 replies
  • 355 views
  • 0 likes
  • 4 in conversation