Помещение общего количества супергруппы в подгруппу

#reporting-services

#отчетность-услуги

Вопрос:

Я надеюсь, что смогу изложить это так, чтобы это имело смысл. У меня есть набор данных. Сначала он группируется по годам. Затем он группируется по типу. Тогда у нас есть отдельные строки данных с их видимостью, связанной с их типом. Что мы хотим сделать, так это показать итоги для каждой группы в процентах от общего объема за год.

Пример:

Введите A
Пункт 1 $30
Пункт 2 $20
Пункт 3 $35
Пункт 4 $15
Общее количество для типа A $100 100 делится на 340
Тип B
Пункт 1 $35
Пункт 2 $25
Пункт 3 $45
Пункт 4 $20
Итого для типа B $125 125 делится на 340
Тип C
Пункт 1 $75
Пункт 2 $40
Общее количество для типа C $115 115 разделить на 340
Общий итог для всех типов $340 340 делится на 340

Моя проблема заключается в том, чтобы получить 340 долларов из общей общей строки в строки общего типа A, B, C. Я могу получить числитель с помощью =Sum(Поля!inv_detail_amt.Value). Но это просто сумма для этой группы. Как я могу получить сумму этого поля для следующей группы? Прямо сейчас у меня есть SQL, который получает итоговые данные по годам и помещает их в другое поле базы данных. Это грубо, но это работает. Я не хочу, чтобы SQL выполнял дополнительную работу, и только отчет выполнял подведение итогов.

Заранее спасибо!

Ответ №1:

Это можно сделать, указав область действия выражения СУММЫ.

Обычно, когда вы используете SUM(), он суммирует значения области, в которой находится текстовое поле, в вашем случае в вашей группе типов.

Чтобы изменить это, вы можете указать область, в случае, если областью действия должен быть весь набор данных.

Предполагая, что ваш набор данных вызван DataSet1 , тогда выражение будет выглядеть примерно так.

 =SUM(Fieldsd!inv_detail_amy.Value) / SUM(Fieldsd!inv_detail_amy.Value, "DataSet1")
 

Примечание: Имя набора данных должно быть заключено в кавычки и учитывается регистр символов.

Если вы хотите, чтобы итоговое значение использовалось как итоговое значение за год, и у вас есть вызываемая группа строк YrGrp , то вы можете использовать YrGrp ее в качестве области видимости. Для примера

 =SUM(Fieldsd!inv_detail_amy.Value) / SUM(Fieldsd!inv_detail_amy.Value, "YrGrp")