Vba SSRS-如何使用3个if语句,其中一个是空白值
我有一个报告,其中一列返回一个DB字段,它可以是三种可能结果中的一种-1、0或空白/“”。 从我所看到的,我认为这里的问题是字段是空的,而不是空值,所以我使用的任何表达式似乎都会导致#错误。 到目前为止,我已经管理了两个不同的表达式,它们产生了我需要的结果的一半:Vba SSRS-如何使用3个if语句,其中一个是空白值,vba,reporting-services,ssrs-2012,Vba,Reporting Services,Ssrs 2012,我有一个报告,其中一列返回一个DB字段,它可以是三种可能结果中的一种-1、0或空白/“”。 从我所看到的,我认为这里的问题是字段是空的,而不是空值,所以我使用的任何表达式似乎都会导致#错误。 到目前为止,我已经管理了两个不同的表达式,它们产生了我需要的结果的一半: =IIF(Fields!Field1.Value = 1, "Yes", IIF ({Fields!Field1.Value = 0}, "No", "Unanswered")) 上面给出了1=“是”、2=“否”和“=#错误 第二个
=IIF(Fields!Field1.Value = 1, "Yes", IIF ({Fields!Field1.Value = 0}, "No", "Unanswered"))
上面给出了1=“是”、2=“否”和“=#错误
第二个得到的是1=1,0=0和“=”未回答“
是否有一种方法可以将这些结果组合起来,使结果显示为1=“是”、0=“否”和“=”未回答”
任何建议都将不胜感激 尝试使用此开关表达式
=SWITCH (
Fields!Field1.Value = 1, "Yes",
Fields!Field1.Value = 0, "No",
True, "Unanswered"
)
最后的True
类似于andelse
如果这不起作用,您可能需要将字段转换为文本,并进行如下检查
e、 g.
CStr(Fields!Field1.Value)=“1”,“Yes”
我认为Alan的答案对你有用,但如果你去掉那些古怪的括号,你的第一个表达式应该有用。应该是=IIF(Fields!Field1.Value=1,“是”,IIF((Fields!Field1.Value=0),“否”,“未应答”)
=SWITCH (
Fields!Field1.Value = 1, "Yes",
Fields!Field1.Value = 0, "No",
True, "Unanswered"
)