SSRS IIF表达式-未声明IFF?

时间:2019-07-03 18:24:47

标签: reporting-services visual-studio-2013 ssrs-2012

我试图在Visual Studio的SSRS报告中编写一个IFF语句。

对于这种情况,在我的数据中,我有以下两个字段MaxCompareDateLapse和MaxCompareDateLapse2。这两个都返回整数值。我还有一个参数,该参数具有以下可供选择的值:3、6、9、12

我在表达式中输入IFF语句,并且返回错误“ textrun'MaxCompareDateLapse.Paragraphs [0]的值表达式包含错误:[BC30451]'IFF'为没有声明。由于其保护级别,它可能无法访问'

我尝试了以下两个表达式,它们都给我相同的错误。下面的第一个是我最终想要得到的,第二个我简化了一下以查看它是否可以工作,但仍然出现错误。

代码1

=IFF(Fields!MaxCompareDateLapse.Value < 
Parameters!pMonthsNoActivity.Value, Fields!MaxCompareDateLapse2.Value, 
IFF(Fields!MaxCompareDateLapse.Value >= 
Parameters!pMonthsNoActivity.Value, Fields!MaxCompareDateLapse.Value))

代码2

=IFF(Fields!MaxCompareDateLapse.Value < 
Parameters!pMonthsNoActivity.Value, 
Fields!MaxCompareDateLapse2.Value, 
Fields!MaxCompareDateLapse.Value)

因此,例如1.如果MaxCompareDateLapse = 1,参数= 6,MaxCompareDateLapse = 20,则将返回20。如果MaxCompareDateLapse = 7,参数= 6,MaxCompareDateLapse = 5,则将返回7

预先感谢-对这些东西来说还是很新的

1 个答案:

答案 0 :(得分:0)

您应该使用IIF替换IFF,因为这是正确的语法。

请参阅。例如:

    =IIF( Expression to evaluate,
what-to-do when the expression is true,
what-to-do when the expression is false )

您可以根据需要使用第二个和/或第三个参数进行嵌套。如果您想嵌套另一个IIF,请检查上面的表达式是否为false:

 =IIF( 1st Expression to evaluate,
what-to-do when the 1st expression is true, 
IIF( Another Expression (2nd) to evaluate,what-to-do when that 2nd expression is true,what-to-do when that 2nd expression is false ) 
)

希望这会有所帮助。