我正在为名为Refund Due的现有报告添加新列。在本专栏中,我正在编写以下逻辑的表达式:
incurred > 0
然后用No
填充退款到期列incurred =< 0 and status = "closed"
然后用Yes
填充退款栏incurred =< 0 and status does not equal "closed"
然后用"Refer"
填充退款栏我写了下面的表达式
=IIF (Fields!GROSS_CLAIMS_INCURRED.Value>"0", "No", IIF(Fields!GROSS_CLAIMS_INCURRED.Value<="0" AND Fields!STATUS.Value="Closed", "Yes", IIF(Fields!GROSS_CLAIMS_INCURRED.Value<="0" AND Fields!STATUS.Value="Open", "Refer", IIF(Fields!GROSS_CLAIMS_INCURRED.Value<="0" AND Fields!STATUS.Value="Reopen", "Refer"))
但是,当我预览报表时,请收到以下错误消息:
textrun'Textbox154.Paragraphs [0] .TextRuns [0]'的Value表达式包含一个错误:[BC30516]重载决策失败,因为没有可访问的'IIf'接受此数量的参数。
我该如何解决这个问题,或者我必须使用哪个表达式来获得所需的结果?
在此先感谢您的帮助。
与嵌套的SWITCH
语句相比,IIF
是一种更清晰的多条件表达式:
=SWITCH(Fields!GROSS_CLAIMS_INCURRED.Value>"0", "No",
Fields!GROSS_CLAIMS_INCURRED.Value<="0" AND Fields!STATUS.Value="Closed", "Yes",
Fields!GROSS_CLAIMS_INCURRED.Value<="0" AND Fields!STATUS.Value="Open", "Refer",
Fields!GROSS_CLAIMS_INCURRED.Value<="0" AND Fields!STATUS.Value="Reopen", "Refer"
)