Is it possible I could generate 5 groups of numbers? Something is like below. However, I don't know if I could add () into a new macro.
%macro repeat (Gem, number1, number2, number3, number4, number5);
%let i=(&X + 1 );
%let X=%eval(&i);
proc sql;
create table lab&X as
select State,ID,age,&GEM,&GEM_CNT
from have
where (State in &number1 and &GEM not in &number2 ) or
(State in &number3 and &GEM not in &number4) or
(State in &number5 and &GEM=1 and &GEM_CNT is null)
order by State,ID;
%create_lab;
%mend repeat;
%repeat ( gem1, (3,4,6,8), (0,1,2), (1,2,5), (8), (4,8) );
%repeat ( gem2, (3,4,6,8), (0,1,2), (1,2,5), (8), (4,8) );
%repeat ( gem3, (3,4,6), (8), (2,5,8), (0,1,2), (1,2,5));
... View more