#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. Постарайтесь не судить меня слишком строго, я обязан использовать его для работы. У меня нет разных подмножеств данных, поскольку параметры меняются при каждом запуске отчета. В отчете отображаются записи внутри подгрупп только при соблюдении критериев.