Your question, your audience. Choose who sees your identity—and your question—with question security.

mlmcc helped me out a while ago with some code to calculate averages from running total forumulas in group footers. Here's a solution I've been using:

http://www.experts-exchange.com/Database/Reporting_/Crystal_Reports/Q_28188490.html

It works great in group footers, but I was never able to get this to work with the report footer for grand total averaging. What am I missing?

I added this formula to the report header:

WhilePrintingRecords;

Global NumberVar GrandTotal;

Global NumberVar Count;

Global NumberVar ReportGrandTotal;

Global NumberVar ReportCount;

""

I added the Report Grand Total variables to the formula doing the calculation of the total (GF4):

WhilePrintingRecords;

Global NumberVar GrandTotal;

Local NumberVar CurrentTotal;

Global NumberVar Count;

Global NumberVar ReportGrandTotal;

Global NumberVar ReportCount;

CurrentTotal := ({#Original Const - Close}-{#Original Const - Start})+1;

GrandTotal := GrandTotal + CurrentTotal;

Count := Count + 1;

ReportGrandTotal := ReportGrandTotal + CurrentTotal;

ReportCount:= ReportCount + 1;

CurrentTotal;

I added this formula to the report footer:

WhilePrintingRecords;

Global NumberVar ReportGrandTotal;

Global NumberVar ReportCount;

ReportGrandTotal / ReportCount

http://www.experts-exchange.com/Database/Reporting_/Crystal_Reports/Q_28188490.html

It works great in group footers, but I was never able to get this to work with the report footer for grand total averaging. What am I missing?

I added this formula to the report header:

WhilePrintingRecords;

Global NumberVar GrandTotal;

Global NumberVar Count;

Global NumberVar ReportGrandTotal;

Global NumberVar ReportCount;

""

I added the Report Grand Total variables to the formula doing the calculation of the total (GF4):

WhilePrintingRecords;

Global NumberVar GrandTotal;

Local NumberVar CurrentTotal;

Global NumberVar Count;

Global NumberVar ReportGrandTotal;

Global NumberVar ReportCount;

CurrentTotal := ({#Original Const - Close}-{#Original Const - Start})+1;

GrandTotal := GrandTotal + CurrentTotal;

Count := Count + 1;

ReportGrandTotal := ReportGrandTotal + CurrentTotal;

ReportCount:= ReportCount + 1;

CurrentTotal;

I added this formula to the report footer:

WhilePrintingRecords;

Global NumberVar ReportGrandTotal;

Global NumberVar ReportCount;

ReportGrandTotal / ReportCount

If it is not, why not create a running total field with a type of average and let Crystal do the calculations for you?

FOr instance the formula below can be used in summary functions including averages.

{Field1} - {Field2}

The following can't even though it looks like the same formula. It is evaluated in the rinting records pass which is after summary functions are evaluated.

WhilePrintingRecords;

{Field1} - {Field2}

The formula he has above uses running totals for the calculations so you can't use it for summary functions since running totals are evaluated in the Printing Pass.

You say it is not accurate. Can you give an example or upload the report with saved data?

mlmcc

I want to average the GF1 averages in the report footer for company averages.

The one example I have in the RF returns 102.64, when it should be 104.09.

From a solution you provided on a similar report, I never was clear on lines 5 and 6.

"Your formula 2" - Should I be including my formula on this line by itself?

"CurrentTotal := Your last line" - I never understood what Your last line was referring to.

As you can see in my report, I include my formula 2 in the CurrentTotal line as follows:

CurrentTotal := ({#Original Const - Close}-{#Original Const - Start})+1;

So maybe my version of the formula is not set up correctly.

Here's what you sent me in a different post. See lines 5 and 6 versus how my formula is built.

You can modify your formula 2 to calculate the grand total

WhilePrintingRecords;

Global NumberVar GrandTotal;

Local NumberVar CurrentTotal;

Your formula 2

CurrentTotal := Your last line

GrandTotal := GrandTotal + CurrentTotal;

CurrentTotal

In the report footer add a formula to display the grand total

WhilePrintingRecords;

Global NumberVar GrandTotal;

GrandTotal

job-schedule-summary---bto-v3.pdf

Job-Schedule-Summary---BTO-v3.rpt

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.

WHen you calculate the average of the averages you essentially assign equal weight to each group. In your case the first group (BW) has only 2 rows but the other groups have 5 and 7 rows.

If you want the average of the averages then you need to do the addition with the average values rather than the individual values.

You modified your formula correctly.

mlmcc