SSRS 2008R2表达式限制文本

时间:2014-10-03 13:58:33

标签: reporting-services ssrs-2008

我有一个表格报告,其中包含显示自由文本的字段。添加:

= Left(fields!data.value,250)我可以将字符数限制为250.但我真正想做的是在最后一个完全停止(句点)最接近250个字符后结束文本。 / p>

例如,目前报告可能显示:' 9月销售额达到25,000。我们正在计划'并突然结束规划' as' planning'是250个字符结束的地方。

理想情况下,我希望文本在句子结尾处结束,例如在9月份之后停止。

你知道这是否可行 - 任何建议或指示都会非常感激。

非常感谢。

1 个答案:

答案 0 :(得分:1)

您可以使用InStrRev获取字符串中的最后一个句点,并将其用作Left表达式的参数。

还需要考虑更多检查,例如:

  • 当字符串中没有句点
  • 当前250个字符中没有句号时
  • 当250个字符被截断后有句点,以及前250个字符的句点。

这应该有效并且能够捕捉到我能想到的大部分例外情况:

=IIf(InStrRev(Left(Fields!data.Value, 250), ".") > 0
        And InStrRev(Left(Fields!data.Value, 250), ".") <= 250
    , Left(Fields!data.Value, InStrRev(Left(Fields!data.Value, 250), "."))
    , Left(Fields!data.Value, 250))