data one;
input id name $;
datalines;
1 Tim
2 Tom
3 Beth
4 Harry
;
run;
data two;
input id treatment_code;
datalines;
1 1
1 2
2 1
2 4
2 9
3 11
4 2
;
run;
data want ;
set one;
if _n_=1 then do;
if 0 then set two;
dcl hash H (dataset:'two',multidata:'y') ;
h.definekey ("id") ;
h.definedata ("treatment_code") ;
h.definedone () ;
end;
length In_teatment $3;
In_teatment='NO';
do while(h.do_over() eq 0);
if treatment_code in (1,2) then do;
In_teatment='YES';
leave;
end;
end;
run;
or
data want ;
set one;
if _n_=1 then do;
if 0 then set two;
dcl hash H (dataset:'two(where=(treatment_code in (1,2))',multidata:'y') ;
h.definekey ("id") ;
h.definedata ("id") ;
h.definedone () ;
end;
length In_teatment $3;
In_teatment='NO';
if h.check()=0 then In_teatment='YES';
drop treatment_code;
run;
... View more