レポートには次のような表現があります。
=FormatNumber(MAX(Fields!Reading.Value, "CellReading_Reading"),3)
データセットが空の場合、「Fields!Reading.Value」は空になり、その最大値の検索は無効になります。列全体が空かどうかを確認するにはどうすればよいですか?
次のことを運よく試しました。
=iif(IsNothing(Fields!.Reading.Value),"",FormatNumber(MAX(Fields!Reading.Value, "CellReading_Reading"),3))
しかし、それでもレポートに#Errorが表示されます。 link もチェックアウトしましたが、そこから手がかりを得ることができませんでした。レポートレベルで処理したいです。
このようにしてみて
= 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)でラップします。
どちらの方法でも機能しますが、レポートに必要な処理が少なくなるように、クエリにそのロジックを含めるのが好きです。