yezi1107 发表于 2015-2-27 11:02 
您好,请问在哪加?
proc format;
value aa 1='one' 2='two';
run;/*level变量所在的data步之上就行*/
DATA Freq_c;
SET Freq_b;
LENGTH Variable Level $200.;
Treat=CATS(Treat_sum,"(", PUT((Treat_sum/&Total_treat)*100, 8.1),")");
Control=CATS(Control_sum,"(",PUT((Control_sum/&Total_control)*100, 8.1),")");
%DO i=1 %TO &CAT_n;
IF %SCAN(&Cat_var,&i) THEN DO;
Variable="%SCAN(&Cat_var,&i)";
Index=%SCAN(&Cat_var,&i);
Level=PUT(%SCAN(&Cat_var,&i),%SCAN(&Cat_var,&i).);