BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
DmytroYermak
Lapis Lazuli | Level 10

Hi all,

 

Could you please say what is an equivalent of the following construction (that is not functioning):

 

%if &macrovariable in (A B C D E F) %then %do;
...
%end;

 

The syntax "in (A B C D E F)" is not functioning here. What is the correct one?  

1 ACCEPTED SOLUTION

Accepted Solutions
gamotte
Rhodochrosite | Level 12

Hello,

 

The in operator  exists for macros but it has to be set with option minoperator :

 

option minoperator;

%macro test(macrovariable);

%if &macrovariable in (A B C D E F) %then %do;
%put Hello;
%end;
%else %do;
%put Sorry;
%end;


%mend;

%test(A);
%test(G);

View solution in original post

2 REPLIES 2
gamotte
Rhodochrosite | Level 12

Hello,

 

The in operator  exists for macros but it has to be set with option minoperator :

 

option minoperator;

%macro test(macrovariable);

%if &macrovariable in (A B C D E F) %then %do;
%put Hello;
%end;
%else %do;
%put Sorry;
%end;


%mend;

%test(A);
%test(G);
DmytroYermak
Lapis Lazuli | Level 10

Thank you!

How to Concatenate Values

Learn how use the CAT functions in SAS to join values from multiple variables into a single value.

Find more tutorials on the SAS Users YouTube channel.

SAS Training: Just a Click Away

 Ready to level-up your skills? Choose your own adventure.

Browse our catalog!

Discussion stats
  • 2 replies
  • 1015 views
  • 0 likes
  • 2 in conversation