Just add the summary fields defined in Revenue and Expenses to the header of your layout. The relationship will limit the totals returned to just those from the related records in each table.
That's the first thing I did, doesn't work.
Say there are ten events with revenue of $1000 each. Since the layout is based on Events, the $1000 for each event is fine in the body.
But when I put that Summary field in the header, still get $1,000 --- not $10,000.
I may be assuming a different relationship here.
What relationships have you defined for the expenses and revenue portals?
What I am describing would report a total of all the entries in one of these portals.
If you have one portal for each event record, then a different approach is needed.
Define a calculation field, cExpenseTotal and put the summary field from Expenses as the sole term for your calculaiton. Then define a summary field in Events, sTotalExpenseTotal as the total of cExpenseTotal.
I did something like that by putting the Summary field[s] from Revenue and Expenses as calculated fields in Projects.
Was trying to avoid that, but it had to be done and all is working.