Crystal Reports Sum Unique Gifts

Posted on 2011-02-23
Last Modified: 2012-05-11
I have been working on this report all week and am SO close to finishing but just cannot figure out what should be an easy issue.  I am trying to create a report that lists all "in honor of" recipients per gift, grouped by donor.  Since there can be more than one honoree per gift I have suppressed the duplicated fields based on the unique gift id.  I do not want to use sub-reports because that just locks up the report and takes FOREVER.  

Since I have suppressed records in the report, I am trying to summarize all gifts in each group based on the gift's unique id.  For example,

Name          Fund                    Amount          In Honor Of          Unique Gift ID
John Doe    Alumni                 $10,000          Jane Doe             123456
(suppressed)                                                Jimmy Doe
(suppressed)                                                Justin Doe

Does that make sense?  When I just use a straight total the un-supressed records are counted in the total.  I have created a formula to give me the correct total per record but if the donor gives more than one gift I cannot summarize the formula.

Here is my formla for the unique gift sum:

if {gifts_full.giftkey}<>previous({gifts_full.giftkey})
then {@Gift Amount}

Any help is always appreciated!


Question by:lcallah93
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 3
LVL 100

Accepted Solution

mlmcc earned 500 total points
ID: 34964277
Are you grouping records?

YOu probably need a group on the Gift Id
In the group header you can put the common information and use the details to list the honorees.

In the group header you can then use formulas to calculate the total.

In the report header add a formula
Global NumberVar TotalGifts;

In the group header
Global NumberVar TotalGifts;
TotalGifts := TotalGifts + {GiftField};

In the report footer to display the total
Global NumberVar TotalGifts;


Author Comment

ID: 34964503
Yes, that is exactly what I want.  After I posted the question I went back to a previous post you sent me and used it as a template and arrived at the above output.

Thank you!

Now I want to suppress records based on the total but cannot - can you evaluate suppression formulas after the above formulas?
LVL 100

Expert Comment

ID: 34965827
Suppress what?

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.


Author Comment

ID: 34969384
Sorry - I have the records grouped by donor with the gift total in the group footer.  In the below example I would like to suppress all groups (John Doe) with Total Gifts less than $10,000.  However, since both grouping and summary functions are not done until the last pass I am at a loss as to how to accomplish this.  Is there a workaround or am I out of luck?

Name          Fund                    Amount          In Honor Of          Unique Gift ID

John Doe (group)
  (gift 1)       Alumni                 $5,000          Jane Doe             123456
                                                                 Jimmy Doe
                                                                 Justin Doe
   (gift 2)       Building                 $3,000                                      555555
                  Total Gift:       $8,000 (group footer)

I have attached the report for your convenience.

LVL 100

Expert Comment

ID: 34971004
Can't do it using the existing totals.

The total isn't calculated until after the group header and detail are displayed so they can't be suppressed.

The only way I can think to do that is to add a subreport or a SQL expression to the group header that calculates the total and then suppress based on that.


Author Closing Comment

ID: 34971047
That is what I thought.  I will work on it.

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Crystal Reports: 5 Tests for Top Performance It is complete, your masterpiece report.  Not only does it meet your customer’s expectations, it blows them out the water, all they want is beautifully summarised and displayed in a myriad of ways. …
Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

710 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question