Visual Studio Отфильтрованная сумма отчета - PullRequest
1 голос
/ 13 июня 2011

У меня есть таблица в отчете Visual Studio 2008 (2005 .rdlc).

В таблице есть группа, у каждой группы есть общая сумма, а после всех групп она имеет общую сумму и выглядит примерно так::

Group 1 |     A    |  B  |  C  |
----------------------------
        |     Bob  | 123 |  10 |   
        |     Tim  |  10 |   2 |  
        |  (Steve) | (43)|  (1)|  
Total                133

Group 2 |     A    |  B  |  C  |
----------------------------
        |     Jon  | 100 |  10 |   
        |     Kit  |  30 |   2 |  
        |  (Steve) | (83)|  (1)|  
Total                130

Grand Total          263

Стив особенный, и его числа показаны, но я не хочу, чтобы они были включены ни в один из итогов.

На данный момент общий итог является выражением

sum(Fields!B.Value)

Можно ли как-нибудь отфильтровать сумму?Я попытался создать еще одну группу в таблице, которая отфильтровывает строки, столбец A которых равен Стиву, но при попытке суммирования я получаю сообщение об ошибке:

sum(Fields!B.Value, "noSteveGroup")

Ошибка 2 Выражение Value длятекстовое поле 'textbox6' имеет параметр области, который недопустим для статистической функции.Параметр области должен быть установлен в строковую константу, равную либо имени содержащей группы, имени содержащей области данных, либо имени набора данных.

Ответы [ 2 ]

2 голосов
/ 10 апреля 2012

Нет необходимости в дополнительном поле.Просто конвертируйте ноль в тип вашего другого поля.Как это;

sum(iif(Fields!A.Value = "Steve", CDec(0), Fields!B.Value))

1 голос
/ 13 июня 2011

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

Я не могу этого сделать

sum(iif(Fields!A.Value = "Steve", 0, Fields!B.Value))

Но я могу создать поддельный столбец, полный нулей, и сделать это

sum(iif(Fields!A.Value = "Steve", Fields!Zero.Value, Fields!B.Value))

Не так элегантно, но, если нет других ответов, он должен будет это сделать.

...