将字段中的 LastName、FirstName 切换为 FirstName LastName 的 SSRS 表达式
SSRS Expression to Switch LastName, FirstName to FirstName LastName in field
SQL 服务器 2016
SSRS 2016
IDE Visual Studio 2017
问题: 报表字段包含 Doe, John
的值
Solution/Output: 使用SSRS表达式require字段输出John Doe
我 运行 预览时给我一个#error 的当前表达式示例:
=Split(Fields!Name.Value,",")(1).ToString() &","& Split(Fields!Name.Value,",")(0).ToString()
我在网上找到了上面的例子,但是抛出了一个错误。 SSRS 高级表达式相对较新。
我没有编辑 T-SQL 查询
的选项
这应该有效...
=SWITCH(
split(Fields!Name.Value, ",").length = 1, Fields!Name.Value,
True, TRIM(split(Fields!Name.Value + ",", ",")(1))
+ " "
+ TRIM(split(Fields!Name.Value + ",", ",")(0))
)
我在这里所做的是...
对于第一个 SWITCH 表达式对,检查名称是否只有一个元素,如果它 return 名称(例如“not Applicable”)。这种方法更安全,因为它将处理任何没有逗号的内容。
第二部分 True
就像 ELSE
在这种情况下,我在 Name
字段值的末尾添加了一个逗号,以便评估的字符串始终至少有 1 个逗号(从而防止错误)。我还修剪了结果,这样您就不会得到不需要的空格。
我们现在得到这些结果
SQL 服务器 2016 SSRS 2016 IDE Visual Studio 2017
问题: 报表字段包含 Doe, John
Solution/Output: 使用SSRS表达式require字段输出John Doe
我 运行 预览时给我一个#error 的当前表达式示例:
=Split(Fields!Name.Value,",")(1).ToString() &","& Split(Fields!Name.Value,",")(0).ToString()
我在网上找到了上面的例子,但是抛出了一个错误。 SSRS 高级表达式相对较新。 我没有编辑 T-SQL 查询
的选项这应该有效...
=SWITCH(
split(Fields!Name.Value, ",").length = 1, Fields!Name.Value,
True, TRIM(split(Fields!Name.Value + ",", ",")(1))
+ " "
+ TRIM(split(Fields!Name.Value + ",", ",")(0))
)
我在这里所做的是... 对于第一个 SWITCH 表达式对,检查名称是否只有一个元素,如果它 return 名称(例如“not Applicable”)。这种方法更安全,因为它将处理任何没有逗号的内容。
第二部分 True
就像 ELSE
在这种情况下,我在 Name
字段值的末尾添加了一个逗号,以便评估的字符串始终至少有 1 个逗号(从而防止错误)。我还修剪了结果,这样您就不会得到不需要的空格。
我们现在得到这些结果