Crystal Reports Field Cannot Be Summarized Error

When passing a variable from a subreport to the main report, an error is received when trying to Count or Sum this variable from the subreport: This field cannot be summarized when using Count({subreport variable}).  The variable in the subreport does a Distinct Count of employees.
The main report is grouped by employees then by location.  A total of the Distinct Count of employees is need by Location.
garyjgsAsked:
Who is Participating?
 
mlmccConnect With a Mentor Commented:
Summary functions are runduring the readingrecords pass through the report.
Shared variables are evaluated later in the generation (printing pass) and thus cannot be used in summaries.

To sum it you will need to have  formulas in the main report to do the summing

In the report header
WhilePrintingRecords;
Global NumberVar TeacherCount := 0;

In a section after the subreport
WhilePrintingRecords;
Global NumberVar TeacherCount;
Shared numberVar TeachersCoreClassCt;
TeacherCount := TeacherCount + TeacherCount;
''

To display it
WhilePrintingRecords;
Global NumberVar TeacherCount;
TeacherCount

mlmcc
0
 
namanpatelCommented:
Count can be used with database field, formula field or array of values. Please make sure you are passing variable of array type.
0
 
garyjgsAuthor Commented:
This is the variable passed to the Main Report:
//@SubFormula
//Count of teachers teaching core classes
//{#emp nr distinct ct} field
//Shared variable

WhilePrintingRecords;
Shared numberVar TeachersCoreClassCt := 0;
Shared numberVar TeachersCoreClassCt := {#emp nr distinct ct};
TeachersCoreClassCt

When in the Main Report, this variable TeachersCoreClassCt needs to summed.  
0
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

 
James0628Commented:
One small, but important, correction to mlmcc's middle formula.  It should read:

TeacherCount := TeacherCount + TeachersCoreClassCt;


 Also, just to clarify, that formula needs to be in a separate section from the subreport, to make sure that it is evaluated after the subreport.  For example, if the subreport is in a Location group footer section, create another Location group footer section below that and put the formula there.  You can suppress the new section.  The formula will still be evaluated.

 James
0
 
mlmccCommented:
Thanks James.  Too quick with the paste.

I agree it should be in a later section though if done in the correct order it will work in the same section.  I always do it in a later section to ensure it works since it is too easy to get the order wrong if it is in the same section.

mlmcc
0
 
James0628Commented:
That's the thing.  I don't know of any way to make sure that the formula is evaluated after the subreport if they're in the same section.

 James
0
All Courses

From novice to tech pro — start learning today.