【问题标题】:ssrs expression to split string possible?ssrs 表达式可以分割字符串吗?
【发布时间】:2011-08-03 15:19:56
【问题描述】:

所以在我的查询中我有select columnx from tblz

它返回001.255556.84546

我希望能够通过 '.' 拆分它。并将其分成三列。

column1 = 001
column2 = 255556
column3 = 84576

这可能吗?

【问题讨论】:

    标签: ssrs-2008 reporting-services


    【解决方案1】:

    关于信息,在 2008 年这些不起作用,您必须执行以下操作:

    =Split(Fields!returnedValue.Value, ".").GetValue(0)
    

    【讨论】:

    • 这应该是公认的答案。当前接受的答案中的“.Value(0)”不起作用。
    【解决方案2】:

    使用以下表达式创建三个计算字段:

    =(Split(Fields!columnx.Value, ".")).GetValue(0)
    =(Split(Fields!columnx.Value, ".")).GetValue(1)
    =(Split(Fields!columnx.Value, ".")).GetValue(2)
    

    我不确定它是否有效,也许可以尝试一下。您可能需要使用 IIF() 语句在获取值之前检查它们。

    【讨论】:

    • 这不起作用。使用 .GetValue(0) 的答案是正确的。
    【解决方案3】:

    在 SSRS 中,您引用字段名称,告诉它要使用的分隔符。由于您本身没有分配给变量,因此您需要告诉它要使用拆分字符串的哪一部分。在你的例子中

    =Split(Fields!returnedValue.Value,".")(0)
    =Split(Fields!returnedValue.Value,".")(1)
    =Split(Fields!returnedValue.Value,".")(2)
    

    您可以用任何实际的字段名称替换returnedValue,并将其中的每一个分别放入您的第1-3列。

    【讨论】:

      【解决方案4】:

      此答案最初发布在问题中,而不是作为答案发布:

      =(Split(Fields!columnx.Value,".")).GetValue(0)
      =(Split(Fields!columnx.Value,".")).GetValue(1)
      =(Split(Fields!columnx.Value,".")).GetValue(2)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-19
        • 2014-11-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多