SSRS Как скрыть детали, если промежуточный итог поля группы равен нулю - PullRequest
0 голосов
/ 08 сентября 2018

Ссылка на изображение, если A = 0, как можно подавить строку 2 (подробности)?

(я добавил выражение видимости строки = IIF (Sum (Fields! Amount.Value) = 0, True, False) для всех трех строк, строки группы подавляют не детали)

Спасибо.

Изображение SSRS

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

При использовании функции aggegate, такой как Sum, без указания области действия, тогда область действия будет «текущей» областью действия. В верхнем или нижнем колонтитуле группы это будет группа, и сумма будет соответствовать желаемому. Вместо этого в строке сведений область будет только строкой сведений, поэтому значение суммы будет таким же, как значение Сумма в строке сведений (я не верю, что Crystal будет вычислять иначе ). Поэтому, если вы хотите использовать Видимость строк , вам необходимо убедиться, что формула принимает одинаковое значение для всех 3 строк. Например, вы можете присвоить TextBox, содержащему сумму, что-то вроде VendorTotal, а для Видимость строк из всех 3 строк укажите выражение

=(ReportItems!VendorTotal.Value=0)

Но зачем скрывать отдельные строки, когда вы можете скрыть группу в целом?

Свойства группы также содержат параметр видимости, и вы даже можете указать условие как выражение, используя функцию Sum напрямую (без ссылки на TextBox):

=(Sum(Fields!Amount.Value)=0)
0 голосов
/ 08 сентября 2018

Если вы добавите то же выражение к видимости деталей, будет ли оно вести себя как требуется?

Если нет, вы можете подумать о добавлении в ваш оператор SQL столбца, представляющего собой сумму столбца Amount, а затем отфильтровать видимость этого столбца.

например.

ID |Сумма |СУММА

1 |2 |6

2 |3 |6

3 |1 |6

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...