SSRS表达式从字符串中获取第一个字符

时间:2015-08-31 08:10:33

标签: ssrs-2008-r2

我的字段值为"First Middle Last",我想将此字符串中的初始字符显示为"FML"

我怎样才能在ssrs表达方面做到这一点?

1 个答案:

答案 0 :(得分:0)

假设字段MyString总是有3个字,以下内容将找到第一个,第二个和最后一个字的第一个字符。诚然,这并不能处理多于或少于3个单词的情况,但如果你需要更多的技巧,希望能让你开始。

=Left(Fields!MyString.Value, 1) + " " +
 Left(Mid(Fields!MyString.Value, InStr(Fields!MyString.Value, " ") + 1), 1) + " " +
 Left(Mid(Fields!MyString.Value, InStrRev(Fields!MyString.Value, " ") + 1), 1)

修改

为了处理只有两个单词的可能性(如下面的公告所示),可以使用对空格索引的检查来确保它们不相同,因此存在3个单词。这将使代码如下

=Left(Fields!MyString.Value, 1) + " " +
 Left(Mid(Fields!MyString.Value, InStr(Fields!MyString.Value, " ") + 1), 1) +
 iif(InStrRev(Fields!MyString.Value, " ") > InStr(Fields!MyString.Value, " "),
   " " + Left(Mid(Fields!MyString.Value, InStrRev(Fields!MyString.Value, " ") + 1), 1),
   "")