#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")