Отчет SSRS — итоги подгруппы

#reporting-services

#службы отчетов

Вопрос:

У меня есть отчет SSRS, который в настоящее время извлекает один набор данных. Этот набор данных содержит записи об имеющихся у нас запасах. Каждая запись является отдельным ресурсом.

Я хочу, чтобы мой отчет группировался по определенному полю, а затем подгруппировывался по определенным критериям, которые определяются с помощью нескольких разных полей. В основном существует одна родительская группа и три смежные подгруппы. Моя функция группировки работает правильно, однако мне сложно добавлять итоги для каждой из соседних подгрупп. Когда я добавляю итоговое значение, оно суммирует конкретное поле в пределах всего набора данных, вместо того, чтобы ограничивать общее значение только этой подгруппой.

Как я могу добавить итоги для каждого поля в подгруппе?

РЕДАКТИРОВАТЬ: добавлены примеры данных и пояснения:

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

номер актива, описание, первый год, стоимость приобретения, код функции
190, случайный актив,2008,5000,100
193, случайный актив45,2008,56000,100
197, случайный актив26,2014,3000,100
191, случайный актив27,2014,7000,100
192, случайный актив36,2013,15000,100

Кажется, я не могу прикрепить скриншоты, так что здесь..

В отчете вы можете увидеть три подгруппы; Активы, AssetAdditions, AssetDeletions. В табликсе вы можете увидеть, где расположены эти группы. Вы также можете увидеть строку непосредственно под группой, которая должна составлять подгруппу в конце. Однако по какой-то причине область учитывает только весь набор данных. Я попытался изменить выражение в функции Sum [Sum(acq_cost), «Активы»], добавив параметр scope, но тогда он не позволяет мне даже запустить отчет. Он кричит на меня, говоря, что «Активы» являются недопустимой областью.

Комментарии:

1. Можете ли вы добавить некоторые примеры данных и желаемый результат? Нет причин, по которым это не должно быть возможным.

Ответ №1:

Самый простой способ, которым я сделал это в 2012 VS, — вернуть его как часть набора данных и суммировать значение.

Например, если у вас есть количество для инвентаризации, и у вас есть подмножество, в котором требуется только общее количество для этого набора, вы добавляете в свой набор данных еще один столбец с именем TotalSetQuantity, а поле промежуточного итога будет иметь выражение = СУММА (поля!Итоговый набор.Значение), а не = СУММА (поля!Количество.Значение).

Вы можете попробовать операторы iif в своем отчете, например =sum(iif(Fields!ColA.Значение = 1, поля!Количество.Значение, 0) но у меня возникли некоторые проблемы с тем, чтобы заставить это работать.

Надеюсь, это поможет, я столкнулся с этой проблемой на прошлой неделе, и первый вариант сработал для меня как шарм.

Комментарии:

1. @Alwayssariyana Я использую Microsoft Report Builder 3.0. Постарайтесь не судить меня слишком строго, я обязан использовать его для работы. У меня нет разных подмножеств данных, поскольку параметры меняются при каждом запуске отчета. В отчете отображаются записи внутри подгрупп только при соблюдении критериев.