Your calculation field won't work as written due to the fact that any references to your related table of donations like this returns the value of the "first" related donation record.
Thus Donations::Donation School Year = Current School Year will always compare the value of Current School Year to the Donation School Year value of the first Dontaion record for that donor.
You can use two different relationships that include different calculation fields, Current School Year, Previous School Year as part of their relationships or you can use a summary field defined in donations that computes the total of Amount, then use two one row portals to donations with different filter expressions to display this summary field to show the two totals that you want. The first approach makes for a more complicated relationship graph, but your fields update smoothly. The second approach simplifies the relationship graph, but requires a script trigger controlled script to refresh the window each time you modify a value on this layout that affects one of the reported totals--which can produce a noticeable "flash" to your window.
Method 1: Add a calculation field, Previous School Year defined as Current School Year - 1.
Create two new occurrences of Donations and relate them like this:
Donor::DonorID = DonationsCurrentYear::DonationID AND
Donor::Current School Year = DonationsCurrentYear::Donation School Year
Donor::DonorID = DonationsPrevYear::DonationID AND
Donor::Previous School Year = DonationsPrevYear::Donation School Year
Then, Sum ( DonationsCurrentYear::Amount ) will sum the current year donations and Sum ( DonationsPrevYear::Amount ) will sum the previous year donations.
Define a summary field, sTotalDonations to compute the total of Amount in the Donations table.
Add a one row portal to donations on your layout. and add this portal filter expression: Donor::Current School Year = Donations::Donation School Year. Put sTotalDonations as the sole field in this portal. You can change the portal borders to 0 width or a transparent total so that this just looks like a simple field.
Duplicate this portal and field, but change the portal filter expression to: ( Donor::Current School Year - 1 )= Donations::Donation School Year
Then use an OnObjectSave trigger on Donations::Amount in the portal and OnObjectExit on the entire portal to run this script:
Refresh Window [Flush cached join results]
To update the current year totals each time you add/remove/modify the donation amounts.
creating the additional table occurrances of the Donations table worked perfectly! PhilModJunk thank you so much!