Dear Agreen,
I didn't mean to step on sv's post ...
It is hard to help, because in one post you showed it grouped by Semester and then in the next it is not.
Here is a suggestion:
I tested with my data and div correctly reflects the number of records to divide by.
So, let's get an example of what div is returning.
In your current formula, comment out everything in the formula after the last set of div and then add to the end of the formula div so that it looks like this:
numbervar div := 0;
div := if (isnull({bssp_grades.sem1_eng_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_foreign_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_math_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_sci_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_social_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_eng_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_foreign_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_math_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_sci_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_social_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
//if div = 0 then 0 else
//({bssp_grades.sem1_eng_score}+
//{bssp_grades.sem1_foreign_score}+
//{bssp_grades.sem1_math_score}+
//{bssp_grades.sem1_sci_score}+
//{bssp_grades.sem1_social_score}+
//{bssp_grades.sem2_eng_score}+
//{bssp_grades.sem2_foreign_score}+
//{bssp_grades.sem2_math_score}+
//{bssp_grades.sem2_sci_score}+
//{bssp_grades.sem2_social_score})/div
//
div
What does div return for say the first five records and why do you think the calculation is wrong.
regards,
ro
numbervar div := 0;
div := if (isnull({bssp_grades.sem1_eng_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_foreign_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_math_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_sci_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem1_social_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_eng_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_foreign_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_math_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_sci_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div := if (isnull({bssp_grades.sem2_social_score}) or {bssp_grades.sem1_eng_score}= 0)
then div + 0 else div +1;
div
What does div return for a variety of lines.
Rosemary Lieberman
rosemary-at-microflo.com,
Microflo provides expert consulting on MagicTSD and Crystal Reports.
You will get answers more quickly if you read this before posting: faq149-3762