SSRS sum max по группам

у меня есть отчет SSRS, который выглядит так (с дополнительными столбцами, такими как sales) со строками, сгруппированными по региону и местоположению.

SSRS report

цель для местоположений-это максимум для каждого местоположения, поскольку в моем запросе цель появляется в каждой записи продаж, которую я суммирую.

=Max(Fields!goal.Value)

целью для регионов является сумма max для каждого местоположения в этой группе регионов.

=Sum(max(Fields!goal.Value, "LocationName"), "region")

первые два не проблема, но я трудность получения общей суммы для отчета,которая будет суммой каждого региона.

=Sum(Fields!goal.Value, "region")

Я не могу ссылаться на группу регионов, поскольку сумма находится вне этой группы - "параметр области, который недопустим для агрегатной функции". Как получить сумму каждого региона (7,000) в этом случае?

2 ответов


в обоих текстовых полях total, region и Grand Total вы можете использовать одно и то же выражение:

=Sum(max(Fields!goal.Value, "LocationName"))

потому что выражение вычисляется в текущем область текстового поля, в края уровень группы это будет агрегирование Max ценность цели во всех LocationName группы в регионе, и на общем общем уровне это будет агрегирование Max ценность цели во всех LocationName группы в все регионов.

вы можете увидеть это в действии. С такими данными, как:

enter image description here

(я удвоил строки, чтобы сделать это очевидным, если конечные итоги верны)

и простая таблица:

enter image description here

одно и то же выражение дает правильный результат в обоих края и Итого область:

enter image description here


вы пробовали =Max (поля!цель.Ценность) ? Если вам нужен unscoped grand total, это должно работать. Вот отличная статья MSDN о добавление группировки и итогов. Ниже приведено изображение, взятое из этого статьи что показывает, как его настроить.

enter image description here

выводит:

enter image description here