data m;
set temp;
length var $5;
j=1;
i=_n_;
do while(scan(x,j)^="");
var=scan(x,j);
output;
j=j+1;
end;
run;
proc freq data=m noprint;
tables i*var /out=m SPARSE;
run;
proc transpose data=m out=result(drop=i _name_ _label_);
by i;
id var;
var count;
run;
[/code:10sv7sov]