Hi:
Tabular output is very simple. It has column header cells most of the time. Since a table is not just composed of column headers -- so you table probably has data cells. It really doesn't matter whether you use PROC REPORT or PROC MEANS or PROC GLM or PROC WHATEVER ... all tabular output has header cells, data cells, possibly row header cells. There are probably titles in your tabular output, maybe footnotes, but the basic tabular output is pretty simple and doesn't use too many different style elements.
Not surprisingly, the column header cells are styled by the HEADER style element in your style template and the DATA style element willl control the style of the data cells. Any overrides that you put in your REPORT code should override what is coming from the STYLE template (and, as you saw in your original question -- sometimes a style template is the only way to impact output -- especially when using ODS TAGSETS.EXCELXP -- mostly because Microsoft XML and style is a little tricky sometimes).
You show only a snippet of code, out of context. Therefore, it is hard to understand what you are asking. Are you saying that the cells with trafficlighting do not adhere to the style template??? You are overriding both foreground color and background color -- that really only leaves the font to be controlled by the template.
If you are reluctant to show all your code, then pick SASHELP.CLASS or SASHELP.SHOES and see whether you can replicate your issue with a simplified, but complete version of code which illustrates your question or issue.. For example, consider the style template below and code that does trafficlighting.
The style template sets the font for ALL the data cells (the DATA style element) to be COURIER NEW and the size for ALL the data cells to be 12pt. All the other style characteristics will come from the SASWEB style. Then, PROC REPORT overrides only the background color, a simple override for AGE=15, using CALL DEFINE. When I view the output in Excel, ALL the data cells are displayed with COURIER NEW font, the HEADER cells are formatted as specified in the style template (the headers are blue and white). Only the background change shows for the cells where AGE=15 -- BUT the font of those cells is still in COURIER NEW and the foreground color is the same as all the other data cells.
Is there something about your output that implies the style template is not being used???
cynthia
[pre]
ods path work.tmp(update)
sashelp.tmplmst(read);
proc template;
define style styles.testtemp;
parent=styles.sasweb;
class Data /
font_face='Courier New'
font_size=12pt;
end;
run;
ods tagsets.excelxp file='c:\temp\test.xls'
style=testtemp;
proc report data=sashelp.class nowd;
column name sex age height;
define name/ order;
define sex / order;
define age / display;
define height / display;
compute age;
if age = 15 then
call define(_col_,'style','style={background=pink}');
endcomp;
run;
ods _all_ close;
[/pre]
... View more