Hi:
The rule of thumb for Tabulate in SAS 8.2 is that "Column wins" -- in the setting of formats and in the setting of style. So you are exactly right....what is specified in the column dimension is clobbering what is specified in the row dimension.
In SAS 9, two new options were added to Tabulate that allowed you to set which dimension "wins" in the setting of format and style. Those options are:
[pre]
table page_dim,
row_dim,
col_dim / style_precedence=row format_precedence= row;
[/pre]
STYLE_PRECEDENCE and/or FORMAT_PRECEDENCE changes the default behavior. The values can be either PAGE, ROW or COL.
I'm not sure there ever was a workaround for this in SAS 8.2 -- you might consider doing the report with PROC REPORT, because the equivalent of the ALL lines in Tabulate would be written with either the BREAK or the RBREAK statements and in Proc Report, you can have multiple variables nested as ACROSS variables and have multiple variables nested as GROUP variables and then the summary highlighting can be applied just to the summary lines, as shown in the code below:
[pre]
ods html file='c:\temp\report_across_style.html'
style=sasweb;
proc report data=sashelp.prdsale nowd
style(summary)={font_weight=bold};
title 'PROC REPORT Nested Vars Across and STYLE overrides';
column ('Country' country)('Region' Region)
prodtype,division,actual
('Grand Total' actual=gtot);
define country / group ' ';
define region / group ' ';
define prodtype / across;
define division / across ' ';
define actual / sum ' ';
define gtot / sum ' '
style(column)={font_weight=bold};
rbreak after / summarize;
break after country /summarize;
compute after country;
line ' ';
endcomp;
compute after;
Country = 'Total';
endcomp;
run;
ods html close;
[/pre]
cynthia