So, if I understand you correctly, the score can appear on any record in group 2, but you only want it to appear in the last record. Is that correct? If so, you'll need to use a variable with three formulas - one to initialize the variable at the beginning of the group, one to set the value, and one to display the value. They'll look something like this:
{@InitScore}
WhilePrintingRecords;
NumberVar Score := 0;
Place this in the P1 group header. Because there's a semi-colon at the end, the value shouldn't display. But you need it to process as group 1 changes.
{@SetScore}
WhilePrintingRecords;
NumberVar Score;
If not IsNull({MyTable.Score}) Score := {MyTable.Score};
Place this in the N1 group header. Again, because of the final semi-colon, the value won't display. NOTE: If there can be multiple records with scores and you want to add them together, change the last line to this:
If not IsNull({MyTable.Score}) Score := Score + {MyTable.Score};
{@ShowScore}
WhilePrintingRecords;
NumberVar Score;
If OnLastRecord or {MyTable. GroupP1Field} <> Next({MyTable.GroupP1Field}) then Score
Place this in the N1 group header as well, in the place where you want the score to appear. It should only show the score on the last N1 record of the P1 group.
-Dell