【问题标题】:SSRS - Checking whether the data is nullSSRS - 检查数据是否为空
【发布时间】:2010-03-18 09:25:36
【问题描述】:

我的报告中有以下表达式。

=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 并无法从中获得线索。我想在报告级别处理它。

【问题讨论】:

    标签: reporting-services reportingservices-2005


    【解决方案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)) )
    

    【讨论】:

      【解决方案2】:

      或者在您的 SQL 查询中使用 IsNull 或 Coalesce (SQL Server) 包装该字段。

      无论哪种方式都有效,我喜欢将这个逻辑放在查询中,这样报表就必须做更少的事情。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-11-25
        • 2012-02-28
        • 1970-01-01
        • 1970-01-01
        • 2019-10-11
        • 2016-09-24
        • 1970-01-01
        相关资源
        最近更新 更多