SSRS - 如何使用3个if语句,其中一个是空值

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SSRS - 如何使用3个if语句,其中一个是空值相关的知识,希望对你有一定的参考价值。

我有一个报告,其中一列返回一个DB字段,可以是3种可能结果中的1种 - 1,0或空白/“”。从我所看到的,我认为这里的问题是该字段是空白而不是NULL值,因此我使用的任何表达式似乎都会导致#Error。到目前为止,我已经管理了两个不同的表达式,它们产生了我需要的两半结果:

=IIF(Fields!Field1.Value = 1, "Yes", IIF ({Fields!Field1.Value = 0}, "No", "Unanswered"))

上面给我1 =“是”,2 =“否”和“”= #Error。

=IIF(Fields!Field1.Value="","Unanswered",Fields!Field1.Value)

第二个让我1 = 1,0 = 0和“”=“未答复”。

有没有办法可以将这些结合起来,并将结果显示为1 =“是”,0 =“否”和“”=“未答复”?

任何建议表示赞赏!

答案

尝试使用此SWITCH表达式。

=SWITCH (
        Fields!Field1.Value = 1, "Yes",
        Fields!Field1.Value = 0, "No",
        True, "Unanswered"
    )

最终的True表现得和else一样。

如果这不起作用,您可能需要将字段转换为文本并检查如下

例如CStr(Fields!Field1.Value) = "1", "Yes",

以上是关于SSRS - 如何使用3个if语句,其中一个是空值的主要内容,如果未能解决你的问题,请参考以下文章

如何根据2个数据源过滤SSRS报告

关于SQL多条件查询问题: 若其中一条件为空值如何设置忽略该条件而用其它条件组合查询??

使 LEAST() 函数返回一个非空值

SQL中建视图关联表的一个字段有空值,导致视图中的数据不完整,想让空值到视图中也是空值怎么整

java mybatis insert的时候Integer的类型是空值

oracle的nvl