感谢您抽出宝贵时间帮助我。我试图使用多个if语句来控制显示哪个值,具体取决于每个语句是否为true。所以现在我有这个下面基本上是:SSRS中嵌入的IIF状态
IIF(expression = NULL
, CompanyAddress
, IIF(Expression='TX'
, IIF(BOOL=TRUE
,CompanyAddress
, SWITCH(DEALER ADDRESSES))
,CompanyAddress)
)
我已分别测试了每个人IIF语句,我得到我所期望的结果。目前在第一个IIF语句中,Expression = NULL是TRUE,它只输出#Error,而不是在我的真实公司地址中输出“Nothin”。但是如果表达式= NULL是FAlSE,我确实得到了companyAddress或Dealer的正确输出。
=IIF(IsNothing(Fields!CoOppId.Value)
,("nothin")
, (IIF(Fields!Addr1.Value.Contains("TX")
, IIF(Fields!UDFCustProv.Value = 1
, Fields!Addr0.Value
, Switch(
Fields!UDFMake.Value.Contains("Chevy")
, "Knapp Chevrolet" + chr(10) + "PO box " + chr(10) + "Houston TX 77210"
, Fields!UDFMake.Value.contains("Ford")
, "Sterling McCall Ford" + chr(10) + "6445 Southwest Freeway" + chr(10) + "Houston TX 77074"
, Fields!UDFMake.Value.contains("International")
, "Pliler International" + chr(10) + "2016 S. Eastman Rd" + chr(10) + "Longview TX 75602"
, Fields!UDFMake.Value.contains("Freightliner")
, "Houston Freightliner, Inc" + chr(10) +"9550 North Loop East" + chr(10) + "Houston TX 77029"
, Fields!UDFMake.Value.contains("RAM")
, "Max Haik Dodge Chrysler Jeep" +chr(10)+ "11000 I-45 North Freeway" + chr(10) + "Houston TX 77037")),Fields!Addr0.Value)))
给这个答案一个尝试:[StackOverflow](https://stackoverflow.com/questions/17511151/isnothing-not-working-on-empty-value-in-report-builder) – Lucky
没有运气在该线程 –
你说主IIF上的ELSE条件可以正常工作,所以你可以将它分解成单个顶层IIF并告诉我们是否仍然会产生错误?实际上我现在看到你说你确实已经证实了这一点。下一个问题,在CoOppId为NULL的情况下,该行中的其他字段是否为NULL? – Daniel