Does next code helps you ?
data have;
infile datalines truncover;
input dx1 $ dx2 $ dx3 $ dx4 $ dx5 $ dx6 $ dx7 $ dx8 $ ;
/*DX1 DX2 DX3 DX4 DX5 DX6 DX7 DX8 */
DATALINES;
5990 2859 1302 V5869
5990
5990 2768 42789 49390 25000 2720 V5869 V5866
5990 4149 25000 4019 V5866 V5869
5990
5990 4019 5715 45621
5990 7881 4019 2720 53081 V5869 V4589 V5866
5990 42731 25000 V5869
5990 27650 V5869 53081 4019 2720
5990 78701 78791
5990 4019 2720 V5869
5990 78820 78097 29420 V1309
5990 413 4264 78607 V1254 33829
5990 40391 5856 V4511 V4573 V1051 1970 V1011
; run;
data temp;
set have;
by dx1;
array dx $ dx2-dx8;
do i=1 to 7;
if dx(i) ne ' ' then do;
dxn = dx(i);
output;
end; end;
keep dx1 dxn;
run;
proc sql;
create table freq as
select dx1, dxn, count(dxn) as freq
from temp
group by dx1, dxn;
quit;
proc sort data=freq; by descending freq; run; proc print data=freq(obs=10); run;
... View more