Обычно мы решаем подобные проблемы, создавая дополнительные запросы и связывая их с основными данными. Поскольку Crystal Reports выполняет только две передачи данных - чтение записей и вычисление агрегации, он не может легко агрегировать по уже агрегированным значениям.
Другая возможность состоит в том, чтобы накапливать ваше 'totalvalue' в переменную. Может сработать что-то вроде следующего (возможно, нужно настроить):
WhilePrintingRecords();
NumberVar totalvalue;
If ({datetime} = Maximum({datetime}, {groupcondition}))
then totalvalue:=totalvalue+value
else 0
Эту формулу (которая отображает итоговое значение) необходимо поместить в нижний колонтитул группы:
WhilePrintingRecords();
NumberVar totalvalue
Где-то в заголовке группы вам нужен еще один для сброса итогового значения:
WhilePrintingRecords();
NumberVar totalvalue:=0