How about a multlabel format.
data all_freqs;
PARCAT3='HAEMATOLOGY';btoxgr='Grade0';TRT01A='LZA';PARAMCD='GRAN';cnt=12;output;
PARCAT3='HAEMATOLOGY';btoxgr='Grade2';TRT01A='LZA';PARAMCD='GRAN';cnt=20;output;
PARCAT3='HAEMATOLOGY';btoxgr='Grade1';TRT01A='LZA';PARAMCD='LYMP';cnt=19;output;
PARCAT3='HAEMATOLOGY';btoxgr='Grade2';TRT01A='LZA';PARAMCD='KKSP';cnt=90;output;
PARCAT3='LIVER AND KIDNEY';btoxgr='Grade0';TRT01A='LZA';PARAMCD='PLAT';cnt=12;output;
PARCAT3='LIVER AND KIDNEY';btoxgr='Grade2';TRT01A='LZA';PARAMCD='WBC';cnt=22;output;
PARCAT3='LIVER AND KIDNEY';btoxgr='Grade1';TRT01A='LZA';PARAMCD='WBC';cnt=24;output;
PARCAT3='LIVER AND KIDNEY';btoxgr='Grade3';TRT01A='LZA';PARAMCD='AST';cnt=11;output;
run;
proc sort;
by parcat3 paramcd trt01a;
run;
proc format;
value $txg(notsorted multilabel)
'Grade0' = 'Grade 0'
'Grade1' = 'Grade 1'
'Grade2' = 'Grade 2'
'Grade3' = 'Grade 3'
'Grade4' = 'Grade 4'
'Grade0'-'Grade4' = 'Total'
;
quit;
proc summary data=all_freqs nway missing completetypes;
by parcat3 paramcd trt01a;
class btoxgr / mlf order=data preloadfmt;
format btoxgr $txg.;
freq cnt;
output out=summary;
run;
proc print;
run;
... View more