data emp;
infile datalines missover ;
length ev1-ev6 $5;
input empid EV1 $ EV2 $ EV3 $ EV4 $ EV5 $ EV6 $ ;
cards;
1001 AB AT BTR S XYZ AT
1001 AT MY LOV . LOV LOV
1001 . MY . S MY S
1001 AB BTR LOV BTR AT AT
1001 AT LOV KUL MY . S
1002 MY LOV . AT AT BTR
1002 MY AT BTR . AT MY
1003 BTR MY . XYZ MY MY
1003 . MY MY MY MY BTR
1003 BTR AB MY . BTR .
1004 S . MY MY . XYZ
1004 XYZ AT KUL AB KUL S
1004 . . BTR LOV MY MY
1004 MY KUL AT KUL XYZ AB
;
run;
data emp1;
set emp;
order=_n_;
run;
proc transpose data=emp1 out=tr prefix=col;
by order empid;
var ev1-ev6;
run;
proc sql;
create table final as select count(unique(empid)) as n,col1 from tr where col1>"" group by col1;
run;