【问题标题】:Combining an IIF statement with correct capitalisation - SSRS 2008R2将 IIF 语句与正确的大小写相结合 - SSRS 2008R2
【发布时间】:2014-11-13 12:15:45
【问题描述】:

请多多指教。

在我们的许多报告中,某些文本以大写形式出现,例如名称为:

约翰·史密斯

或小写 - john smith

我们可以使用任何代码/表达式来允许常规大写,因此数据总是(在报告中)显示为:

约翰·史密斯?

但是,由于已经存在用于在报告中显示名称的 IIF 表达式,因此情况变得更加复杂,例如:=IIF(fields!x.value="", fields!title.value & " " & Fields!Forenames。 Value & " " &fields!surname.Value, "no name") - 任何关于如何将此表达式与返回正则大写的表达式组合的建议将不胜感激。

【问题讨论】:

    标签: ssrs-2008-r2 ssrs-expression


    【解决方案1】:

    据我所知,没有任何功能可以更改为 Title Case。您必须执行以下操作:

    =UCase(Left(Fields!Forenames.Value, 1)) & LCase(Right(Fields!Forenames.Value, Len(Fields!FieldName.Value)-1))

    这基本上是获取第一个字母并将其大写,然后计算字段的长度,将其减一,并使用该长度获取字段的其余部分,将其转换为小写。

    这将非常适合您的表情,没有戏剧性(理论上!)

    =IIF(fields!x.value="", fields!title.value & " " & UCase(Left(Fields!Forenames.Value, 1)) & LCase(Right(Fields!Forenames.Value, Len(Fields!FieldName.Value)-1)) & " " & UCase(Left(Fields!surname.Value, 1)) & LCase(Right(Fieldsurname.Value, Len(Fields!surname.Value)-1)), "no name")

    编辑:对不起,对不起,我把我的语言弄混了。报表生成器中没有 Upper() 和 Lower(),而是 UCase() 和 LCase()。编辑了我的回复以反映这一点。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-06-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多