Sorry, I focussed on the header spanning horizontally. If you use the split character, you can "stack" strings into a header cell. So, for example, this would put the string 'Hdr1' above NAME, 'Hdr2' above AGE, etc: [pre]
ods html file='c:\temp\mergeheaders2.html'
style=sasweb;
proc report data=sashelp.class nowd
split='/';
column ('Span All' (name age height weight));
define name /order 'Hdr1 /Name';
define age /display 'Hdr2 /Age';
define height /display 'Hdr3 / Height';
define weight /display '/Weight';
run;
ods html close;
[/pre]
But, it is harder to merge cells vertically. So if you used the above technique to put 'Hdr1' above NAME, but you used the previous technique to have 'Hdr2' span both AGE and HEIGHT, you would then find an empty cell on the same row as the 'Hdr2' string -- that empty cell would be above NAME and WEIGHT. It's better, in my experience, to use the above technique to stack strings into header cells. If you do use this technique, then you might also need to set the style attribute for vertical justification, so that all the Header text was at the bottom of the cell. That way, you would not have single line text strings floating to the top of the cell. The way to change the style attribute in this way is: [pre]
proc report data=sashelp.class nowd split='/'
style(header)={vjust=b};[/pre]
I am not aware of any other technique to merge header cells vertically in PROC REPORT. PROC REPORT writes out every report row -- a single row at a time. In the HTML that's written for the NAME cell in the above program output, SAS is NOT writing out an HTML "rowspan" attribute, it is writing out the following HTML:[pre]
Hdr1
Name
[/pre] with a
tag substituted for the SPLIT character. For the "Span All" header (shown above), SAS is writing out HTML with a "colspan" attribute [pre]
Span All[/pre]
If you customized or wrote your own HTML tagset, using PROC TEMPLATE, there might be a way for you to modify the default HTML that is being written. You can find out more information on using PROC TEMPLATE to write your own MARKUP language tagset by visiting the sites below:
http://support.sas.com/rnd/base/topics/odsmarkup/
http://support.sas.com/rnd/base/topics/odsmarkup/pandp.html
cynthia