SSRS 表达式中出现错误,表示错误条件



我想以以下格式生成字符串:

Vancouer应显示为 ->( V) anc-ouer
Roberts Cut-Off Road->Roberts Cu(t-O) ff-Road...等 因此,对于我使用的最后 4 个字符:

Right(Fields!NAME.Value, 4)

对于中间部分,我正在使用IIF:

IIF(Len(Fields!NAME.Value) < 10, 
Left(Fields!NAME.Value,. 
(Len(Fields!NAME.Value)-7)), 
Mid(Fields!NAME.Value,Len(Fields!NAME.Value)-9,3))

但是上述 IIF 条件在长度小于 10 时给了我 #Error。可能的解决方案是什么?或者如果我能知道表达式以最简单的方式生成完整格式,那就更好了。

即使您有条件检查 10 个字符 SSRS 仍然会评估 false 部分,这就是您收到错误的原因,这通常在尝试避免除以零错误时遇到。 更多信息在这里

除以零/空解决方法

另一篇文章

为了弥补RegBes提到的问题,请使用额外的IIF来解决初始IIF的错误部分的错误。

IIF(Len(Fields!NAME.Value) < 10, 
Left(Fields!NAME.Value, Len(Fields!NAME.Value) - 7), 
Mid(Fields!NAME.Value, Len(Fields!NAME.Value) - IIF(Len(Fields!NAME.Value) < 10, 0, 9), 3) 
)

如果 LEN 小于 10,这将减去 0。第一个 IIF 将确保此代码不显示值,但可以解决 IIF 评估 IIF 的 TRUE 和 FALSE 部分的问题。

最新更新