You have entirely changed your report, and it seems to me that your first layout made more sense. Can you please explain what you want to compare here? Are you trying to compare hourly rates by fiscal year for each position? Your latest version looks like you don't care about individual positions so much as regions.
Using your original design, where fiscal year is the inner group (Grp#3), and using the running total editor, you could check for nulls in a formula like {@hrlyrate}:
if isnull({table.hourlyrate}) then 0 else {table.hourlyrate}
Use this as the field to average, and then in the evaluate based on a formula section, you would enter:
year({table.date}) = 2003 and
{@hrlyrate} <> 0
Assuming your Grp#1 is category and Grp#2 is region, choose reset on change of group->Grp#1: category.
Then repeat for 2004 changing the year in the evaluation formula. Then use a formula like the following (to be placed in the group #1 footer) to show the percent difference:
if (isnull({#2003}) or
isnull({#2004})) then 0 else
if {#2003} > 0 then
({#2004}-{#2003})%{#2003} else
0
-LB