我想以以下格式生成字符串:
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 部分的问题。