I agree that the box in proc tabulate becomes very problematic, when you are trying to create a report that will be used like data and the grouping variables create an additional meaningless empty row. I good way to remedy both issues, is to blank out the grouping headings and just populate the empty box with the grouping headings...

Also, Proc tabulate does NOT allow you to fully compute variables off of the sums(or another analysis) at a row level and I don't mean like row percent. So, proc report would win in the ring. The biggest challenge I found was that when you're trying to compute a variable using analysis variables, you can't use computed_variable=analysis_variable1.sum/analysis_variable2.sum. You will get an error. You have to use absolute columns. Meaning you have to count the columns and name them C1, C2, C3 (and remove the statistics like .sum .average, etc..)