Как я могу скрыть определенные повторяющиеся строки в SSRS 2005?
Вот моя проблема: у меня есть несколько повторяющихся строк (строк с одинаковым идентификатором). То, что я хочу, это скрыть строки на основе значения конкретного столбца. Упомянутый столбец, очевидно, не является столбцом идентификатора (это столбец описания).
Я попробовал это в строке видимости (выражение):
=IIF (Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value)
AND
ReportItems!Description.Value <> "Incident Status Change to Work In Progress from Open", true, false)
Итак, я хочу исключить строки, в которых Description не равно "Изменение статуса инцидента для работы в процессе из открытого".
Я получаю сообщение:
Скрытое выражение для таблицы "таблица 1" содержит ошибку: переменная объекта или переменная блока не установлены.
Есть идеи по этому поводу?
заранее спасибо
3 ответа
Я думаю, что вы, вероятно, получаете эту ошибку, потому что в вашем запросе есть одна или несколько строк, которые имеют NULL
значение в Description
поле.
Вы можете проверить эту теорию, упростив свое выражение до этого:
=IIF(Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value), true, false)
просто чтобы посмотреть, сможете ли вы запустить отчет без ошибок.
Если это работает, то вам нужно добавить тест для NULL
значение как часть более крупного условия теста, чтобы вернуться к логике, которую вы намеревались.
Попробуй это:
=IIF(Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value) AND IsNothing(Fields!Description.Value) = false AND Fields!Description.Value <> "Incident Status Change to Work In Progress from Open", true, false)
Это должно избежать ошибки, предотвращая оценку последней части условия, когда Description
имеет NULL
значение.
SSRS иногда бывает шатким. Попробуйте заключить в скобки:
=IIF(((Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value)) AND (IsNothing(Fields!Description.Value) = false) AND (Fields!Description.Value <> "Incident Status Change to Work In Progress from Open")), true, false)
Я думаю, что вы на правильном пути, просто используя ReportItems вместо полей!
=IIF(Fields!Incident_ID.Value = Previous(Fields!Incident_ID.Value) AND Fields!Description.Value <> "Incident Status Change to Work In Progress from Open", true, false)