Службы Reporting Services - Расчет итогов / процентов строк в таблице - PullRequest
5 голосов
/ 18 июля 2011

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

Сейчас у меня есть такая таблица:

Blah    Col1    Col2    Col3
-----------------------------
ABC      1        1      1
DEF      2        2      3
-----------------------------
Total    3        3      4

И я хочу эточтобы включить итоги / проценты, например, так:

Blah    Col1    Col2    Col3    Total    %
--------------------------------------------
ABC      1        1      1        3     30%
DEF      2        2      3        7     70%
--------------------------------------------
Total    3        3      4        10    100%

Я знаю, что могу выполнять вычисления в запросе SQL, но хранимая процедура довольно сложна, поэтому я хотел бы избежать этого, если это возможно.Поэтому мне интересно, есть ли простой способ добиться этого в SSRS.

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

Ответы [ 5 ]

12 голосов
/ 20 июня 2012

Я добавил строку итогов для своей матрицы, затем я сослался на текстовое поле итогов (текстовое поле 8 в моем случае) для столбца и сделал:

Sum(Fields.FieldName.Value)/ReportItems!Textbox8.Value

Надеюсь, это имеет смысл!

5 голосов
/ 21 июля 2011

Для расчета суммы просто введите простую сумму с помощью оператора +. В процентах вы можете обратиться к общему итогу, используя ReportItems!ItemName.

1 голос
/ 20 июля 2011

Вы можете использовать агрегатные функции в службах Reporting Services, такие как «SUM» и «AVG», чтобы достичь того, что вы пытаетесь сделать.Это работает так, что части «Подробности» групп в таблицах SSRS будут перечислять все данные, в то время как части без деталей (такие как верхние и нижние колонтитулы) групп могут использоваться для агрегатов, таких как:

=SUM(Fields!TestValue.Value)

http://msdn.microsoft.com/en-us/library/ms159134%28v=sql.90%29.aspx

Дайте мне знать, если вам нужна дополнительная помощь.

0 голосов
/ 18 августа 2013

вы можете просто сделать следующее: Сумма (CInt (Fields! TestValue.Value)) или сумма (CInt (Fields! DollarAmountOfCheck.Value), "DataSet1") Иногда, когда данные поступают через WCF, они не принимают функцию Sum (). но это прекрасно работает в этом случае.

0 голосов
/ 18 июля 2011

Создайте две группы: одну для столбца с одинаковыми данными для каждой строки, а затем одну для столбца. добавьте строку для emcompassing group и внесите туда сумму.

...