Generally, PROC REPORT, PROC TABULATE go hand-in-hand with ODS for reporting. So it was an OK place to post your original question.
Did you look at the program I posted??? It shows a similar data scenario - -using SASHELP.CLASS -- but with only 3 rows and 5 variables. However, one of the rows has missing values for 2 of the variables -- so except for the number of rows and the number of variables, the situation in my program will illustrate the fact that you cannot "remove" the column header for the 2 missing values.