2014-10-03 41 views
0

我有一個表格報告,顯示一個顯示自由文本的字段。通過添加:SSRS 2008R2表達式限制文本

=左(fields!data.value,250)我可以限制字符數爲250.但是我真正想要做的是在最後一句句號(句號)之後結束文本250個字符。

例如,目前報告可能會顯示:'9月銷售額達到25,000。我們正在計劃'並在'計劃'中突然結束,因爲'計劃'是250個角色結束的地方。

理想情況下,我希望文本在句子結束前結束,例如在'9月'之後停止。

你知道這是否可能 - 任何建議或指針將非常感激。

非常感謝。

回答

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)) 
+0

謝謝。這工作完美。 – 2014-10-04 10:25:35

+0

歡迎您!如果答案解決了您的問題,請考慮將其設置爲已接受。 http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – 2014-10-04 11:18:07