If you are able to use SQL expressions, you can create the percentage in the following way:
Create two SQL expressions:
[{%Yr2-Yr1}]:
(select sum(AKA.`SalesAmt`) from Table AKA where
AKA.`Division` = Table.`Division` and
{fn QUARTER(AKA.`SalesDate`)} = {fn QUARTER(Table.`SalesDate`)} and
{fn YEAR(AKA.`SalesDate`)} = 2004) -
(select sum(AKA.`SalesAmt`) from Table AKA where
AKA.`Division` = Table.`Division` and
{fn QUARTER(AKA.`SalesDate`)} = {fn QUARTER(Table.`SalesDate`)} and
{fn YEAR(AKA.`SalesDate`)} = 2003)
[{%Yr1}]:
(select sum(AKA.`SalesAmt`) from Table AKA where
AKA.`Division` = Table.`Division` and
{fn QUARTER(AKA.`SalesDate`)} = {fn QUARTER(Table.`SalesDate`)} and
{fn YEAR(AKA.`SalesDate`)} = 2003)
In each of these expressions, replace "Table" with your table name, and replace each field name (SalesAmt, Division, SalesDate) with your exact field name. Leave "AKA" as is, since it is an alias table name.
Then go to the formula editor and create a formula {@cellpercent}:
if {%Yr1} <> 0 then
{%Yr2-Yr1} % {Yr1}
Place {@cellpercent} in the crosstab as a summary field. Do not change the type of summary (to avoid crashing). After exiting the crosstab expert, right click on the field and change the summary to maximum. If you are using column totals and row totals, you will need to suppress both of these in the percent crosstab. To get row and column total percentages, you would create a separate crosstab for each. For the row total percentage, create two SQL expressions:
[{%rowtotal2003}]:
(select sum(AKA.`SalesAmt`) from Table AKA where
AKA.`Division` = Table.`Division` and
{fn YEAR(AKA.`SalesDate`)} = 2003)
[{%rowtotaldiff}]:
(select sum(AKA.`SalesAmt`) from Table AKA where
AKA.`Division` = Table.`Division` and
{fn YEAR(AKA.`SalesDate`)} = 2004) -
(select sum(AKA.`SalesAmt`) from Table AKA where
AKA.`Division` = Table.`Division` and
{fn YEAR(AKA.`SalesDate`)} = 2003)
Then create a formula {@rowtotalpercent}:
if {%rowtotal2003} <> 0 then
{%rowtotaldiff} % {rowtotal2003}
Again, use this as your summary, with {table.Division} as your row field. Change the summary to a maximum after exiting the crosstab expert.
For the column crosstab, you would use the quarter clauses in two SQL expressions, but eliminate the clauses referring to division.
For these two crosstabs, you would suppress the row and column labels and the grand total value, and also go to the customize style tab->format grid lines and uncheck "show grid lines". Then position these crosstabs on top of the original crosstab.
Finally, you would need to create a formula reflecting the grand total percent. Again you would create two SQL expressions, one for the difference, one for the previous year, and then eliminate both division and quarter clauses. You do not need to create a crosstab for this, but instead, simply place this in the grand total position on the original crosstab.
Right click on each of the values and format them by clicking on the % icon in the toolbar.
-LB