Как суммировать только итоги группы?
Я пытаюсь суммировать только итоги группы HourTarget.
7:00 8:00 HourTarget
Line 1 2715 1008 3224
A 2307 1008 3224
B 408 0 3224
Line 2 2308 2432 2656
A 2308 2432 2656
Line 3 2318 1622 2800
A 345 1258 2800
B 762 0 2800
C 1211 364 2800
Я пытаюсь достичь 8680 в результате суммы HourTarget. Но я получаю 17504. Это потому, что HourTarget в таблице базы данных является записью для каждого продукта, работающего в этой строке, но цель связана со строкой, а не с продуктом. Как я могу суммировать только итоги группы?
Как-то так не работает
=Sum(Max(Fields!HourTarget.Value))
2 ответа
Поскольку вы работаете с SSRS 2008R2, вы можете использовать совокупные функциональные возможности, которые были добавлены в этой версии.
Вы были на правильном пути; вам просто нужно добавить значение Scope в ваше выражение.
Я использую версию ваших данных и построил простой табликс:
Обратите внимание, что я создал группу под названием Line.
Чтобы получить Sum
из Max
HourTarget столбец, используйте выражение:
=Sum(Max(Fields!HourTarget.Value, "Line"))
Это работает Max
для каждой группы линий, затем принимает Sum
из этих.
Теперь у нас есть необходимое значение:
До SSRS 2008R2 не было простого способа сделать это; обычно в DataSet добавляется дополнительный столбец с предварительно агрегированным значением для отображения в отчете.