Hi:
All the automatic percent statistics use the denominator as described in the doc, but generally, it breaks down like this:
PCTN = divides by grand total N
COLPCTN = divides by total of the COL N
ROWPCTN = divides by total of the ROW N
PCTSUM = divides by the grand total of the variable in the equation...so for example, PCTSUM * VAL would divide particular cell's VAL by the SUM of ALL the VAL for the table.
COLPCTSUM = divides by the total for the column SUM of the variable being used
ROWPCTSUM = divides by the total for the row SUM of the variable being used
If you want to generate the MEAN statistic, (which is the sum of a variable divided by the non-missing count of obs), then you would use the MEAN statistic in your COLUMN statement. See the code below. The data is simple enough that you can check the divisions with a calculator. (Even if you are eventually going to remove the N statistic from the final table, I find it is useful to see the N statistic as I'm finalizing my table.)
I'm not sure what statistic you actually want, but if you look at the test data and then check the math, you should be able to figure out which statistic you should use. In some cases, with PROC TABULATE, you can provide a custom denominator in your TABLE statement -- however, I'm not sure you actually need this capability, since I'm not sure that you really want a percent statistic.
cynthia
[pre]
data makedata;
do month = 1 to 12 by 1;
if month in (1,2,3) then q=1;
else if month in (4,5,6) then q=2;
else if month in (7,8,9) then q=3;
else q=4;
val = month * q * 10;
if val lt 100 then val = val * 10;
output;
end;
label q='Quarter'
month='Month';
run;
ods listing;
proc print data=makedata;
title 'what does data look like';
run;
ods listing close;
ods html file='pctn_pctsum.html' style=sasweb;
proc tabulate data=makedata;
title 'MEAN and N statistics';
class month q;
var val;
table n (sum*val mean*val),
Q all/box='Quarter';
table n (sum*val mean*val),
month all/box='Month';
run;
proc tabulate data=makedata;
title 'PCTN PCTSUM';
class month q;
var val;
table (n pctn) (sum*val pctsum*val),
Q all/box='Quarter';
table (n pctn) (sum*val pctsum*val),
month all/box='Month';
run;
proc tabulate data=makedata;
title 'COLPCTN COLPCTSUM';
class month q;
var val;
table (n colpctn) (sum*val colpctsum*val),
Q all/box='Quarter';
table (n colpctn) (sum*val colpctsum*val),
month all/box='Month';
run;
proc tabulate data=makedata;
title 'ROWPCTN ROWPCTSUM (for this table, same as PCTN and PCTSUM)';
class month q;
var val;
table (n rowpctn) (sum*val rowpctsum*val),
Q all/box='Quarter';
table (n rowpctn) (sum*val rowpctsum*val),
month all/box='Month';
run;
ods html close;
[/pre]