data have;
input ID (Race1-Race4)(:$10.);
infile datalines dsd dlm=',';
datalines;
1001,asian,hispanic,white,
1002,,,,
1003,asian,,,
1004,,,Asian,Hispanic
;
data want;
if _n_=1 then do;
length key flag $ 40;
declare hash h();
h.definekey('key');
h.definedone();
end;
set have;
h.clear();
array x{*} $ race:;
do i=1 to dim(x);
if not missing(x{i}) then do;key=x{i};h.ref();end;
end;
n=h.num_items;
if n=0 then flag='Missing';
else if n=1 then flag=coalescec(of x{*});
else flag='Multiple';
run;
proc print;run;
... View more