将字段中的 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 个逗号(从而防止错误)。我还修剪了结果,这样您就不会得到不需要的空格。

我们现在得到这些结果