Ответ 1
попробуйте это
= IIF( MAX( iif( IsNothing(Fields!.Reading.Value ), -1, Fields!.Reading.Value ) ) = -1, "", FormatNumber( MAX( iif( IsNothing(Fields!.Reading.Value ), -1, Fields!.Reading.Value ), "CellReading_Reading"),3)) )
В моем отчете есть следующее выражение.
=FormatNumber(MAX(Fields!Reading.Value, "CellReading_Reading"),3)
Теперь, когда набор данных пуст, "Поля! Чтение. Вал" становится пустым, и их максимальное значение недействительно. Как проверить, пуст ли весь столбец?
Я попробовал следующее без везения.
=iif(IsNothing(Fields!.Reading.Value),"",FormatNumber(MAX(Fields!Reading.Value, "CellReading_Reading"),3))
Но все же я получаю #Error в отчете. Я также проверил ссылку и не смог получить ключ от него. Я хочу обработать его на уровне отчета.
попробуйте это
= IIF( MAX( iif( IsNothing(Fields!.Reading.Value ), -1, Fields!.Reading.Value ) ) = -1, "", FormatNumber( MAX( iif( IsNothing(Fields!.Reading.Value ), -1, Fields!.Reading.Value ), "CellReading_Reading"),3)) )
Или в вашем SQL-запросе оберните это поле с помощью IsNull или Coalesce (SQL Server).
В любом случае, мне нравится вставлять эту логику в запрос, чтобы отчет делал меньше.