【问题标题】:SSRS Split expression #ErrorSSRS 拆分表达式#Error
【发布时间】:2018-07-05 07:05:08
【问题描述】:

试图让这个表达式工作:

IIF(Fields!Text.Value like "*som:*",Split(Fields!Text.Value, ": ").GetValue(0)&":" & vbcrlf & Split(Fields!Text.Value, ": ").GetValue(1), Fields!Text.Value)

对于包含“som:”的字段,它可以按我的意愿工作,但不适用于显示#Error 的“其他字段”。我也尝试过 Fields!Text.Value.ToString().Contain("som:") 但得到了相同的结果。

警告:textrun 'XXXXXX.Paragraphs[0].TextRuns[0]' 的值表达式包含错误:索引超出矩阵/范围(如果错误消息不准确,请尝试翻译它,非常抱歉)

表达式是在文本框上进行的,我需要这个功能,因为我们的客户需要它。

我有点想要这个输入:

TText text text som:

文字文字文字

还有

文本文本文本文本文本文本文本

我做错了什么?

【问题讨论】:

    标签: reporting-services split expression ssrs-2012 ssrs-tablix


    【解决方案1】:

    请使用自定义代码:

    报告 ► 报告属性 ► 代码 (报告在顶部的工具栏上)

    添加以下代码:

    Function Valid(ByVal str As String) As String
        If (str.Contains("tom:")) Then
            Return str.Split(":").GetValue(0) + ":" + vbCrLf + str.Split(":").GetValue(1)
        Else
            Return str
        End If
    End Function
    

    这样的用户:“=Code.Valid(Fields!Text.Value)”

    【讨论】:

    • 您能解释一下这是如何工作的吗?这有点新:)
    • 我认为报告服务中的IIF就像,无论条件是否正确,都会执行两个动作(真假)。
    • 你可以在你的报表空白处右键,可以看到“报表属性”,点击添加自定义代码。
    • 不错!谢谢!还有一个小问题:我如何在“:”之后得到一个“输入”,以便 value(1) 低于 value(0)?
    • 试试这个:str.Split(":").GetValue(0) + ":" + vbCrLf + str.Split(":").GetValue(1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-26
    • 2016-07-28
    • 2015-05-27
    相关资源
    最近更新 更多