SSRS错误索引超出了数组的范围。 (rsRuntimeErrorInExpression)

时间:2018-06-27 08:28:12

标签: reporting-services

我正在使用SSRS构建报告,但出现错误:Index was outside the bounds of the array (rsRuntimeErrorInExpression)

我尝试使用不同的表达式来解决此问题,但无法使其正常工作。我目前有:

=iif(LEN(Fields!Comment.Value) - LEN(REPLACE(Fields!Comment.Value, ",","")) > 3, Split(Fields!Comment.Value, ",")(3), Nothing) 

有人可以建议我如何解决这个问题吗?

1 个答案:

答案 0 :(得分:0)

即使Iif条件为false,该错误也与SSRS尝试评估拆分表达式有关。

代替静态值3作为数组索引,您可以使用嵌套的Iif返回有效的索引值(例如0),以使分割始终有效。

=iif(
    LEN(Fields!Comment.Value) - LEN(REPLACE(Fields!Comment.Value, ",","")) >3
    , Split(Fields!Comment.Value, ",")(
        iif(
            LEN(Fields!Comment.Value) - LEN(REPLACE(Fields!Comment.Value, ",","")) >3
            ,3
            ,0
            )
    ) 
, Nothing
)