Hi:
PROC REPORT in my example, was a very simple report. I did not have any "ACROSS" usage items. But, in the program below, I switched to SASHELP.PRDSALE, because it only has 3 countries and 2 prodtypes and 2 region values, so it made a smaller table ... but you can see that with COUNTRY as an "ACROSS" usage item on the report, I get the Min, Mean and Max values for ACTUAL nested underneath each country. PROC REPORT in my example, is using aliases for the ACTUAL variable -- I'm just using ACTUAL 3 times on the report, but I could have as easily done COUNTRY,(VAR1 VAR2 VAR3) in my column statement. Just note that REPORT syntax is different from TABULATE syntax....and that in either case, COUNTRY had to be defined to REPORT as an ACROSS usage.
I don't know whether PROC REPORT is the right choice for you. Sometimes with TABULATE, you have to "pre-calculate" your computed variables before the TABULATE step and I assume this is what you've done when you say you've made "computed" variables with TABULATE. You may not need to do that with REPORT because REPORT allows computed report items in the syntax of PROC REPORT.
Both TABULATE and REPORT have strengths and weaknesses -- the "double wide" row is one glitch of TABULATE that you don't have with REPORT. But, REPORT is not as elegant or concise as TABULATE in how you express dimensions or nested hierarchies in multiple dimensions. On the other hand, REPORT makes up for that by having COMPUTE blocks and the CALL DEFINE capability and the LINE statement that go a long way toward making REPORT more flexible than TABULATE. On the other, -other- hand, TABULATE has that lovely ALL universal CLASS variable. On the other, -other-, -other- hand, if you do have ACROSS variables with PROC REPORT and you want to create a computed variable inside the PROC REPORT syntax, you have to use absolute column names (_c2_, _c3_, etc).
In this case, it really depends on the structure of the data and what your final report needs to look like...and to some extent, how comfortable you are with REPORT and TABULATE.
cynthia
[pre]
ods tagsets.excelxp file='across_report.xml' style=sasweb;
proc report data=sashelp.prdsale nowd;
column prodtype region country,(actual actual=aavg actual=amax);
define prodtype/ group;
define region / group;
define country/ across 'Country Actual Sales';
define actual / min 'Mininum';
define aavg / mean 'Average';
define amax / max 'Maximum';
run;
ods _all_ close;
[/pre]