【问题标题】:Split multiple values from LookupSet in multiple columns in Report Builder在报表生成器的多个列中拆分 LookupSet 中的多个值
【发布时间】:2020-06-09 09:37:26
【问题描述】:

我在报表生成器中遇到一个表达式。 我的数据集可以包含多个值。所以我使用了 LookupSet 并加入了结果。 到目前为止,这有效。

=Join(LookupSet(Fields!SignalId.Value, Fields!SignalId.Value, Fields!r_configuration.Value, "RData"), ",")

结果

|Column 1 | Column 2|
----------|----------
|   1,2   |         |
|   1     |         |

现在我想拆分结果。例如,如果有多个值,则第一个条目应在 column1 中,第二个条目应在 column2 中

|Column 1 | Column 2|
----------|----------
|   1     |    2    |
|   1     |         |

我试过了

=LookupSet(Fields!SignalId.Value, Fields!SignalId.Value, Fields!r_configuration.Value, "RData")(0)

但这仅适用于查找集包含多个值的情况。如果只有一个值,我会收到 #Error。 它试图放置一个 IIF()、isNothing() 但仍然得到#Error。 任何想法如何实现这一目标?

下面的行不通

=IIF(LookupSet(Fields!SignalId.Value, Fields!SignalId.Value, Fields!r_configuration.Value, "RDataset").Length > 1,LookupSet(Fields!SignalId.Value, Fields!SignalId.Value, Fields!r_configuration.Value, "RDataset")(0),Join(LookupSet(Fields!SignalId.Value, Fields!SignalId.Value, Fields!r_configuration.Value, "RDataset"),","))

干杯 亚历克斯

【问题讨论】:

    标签: sql report reportbuilder


    【解决方案1】:

    看起来内置表达式没有任何作用。 我添加了自定义代码。这总是有效的:-)

    Public Function GetRitop(ByVal items as Object(), ByVal pos as Integer) As Object
    
    if items Is Nothing Then
    return ""
    Else if items.Length = 1 And pos = 1 Then
    return items(0)
    Else if items.Length = 1 And pos = 2 Then
    return ""
    Else if items.Length = 2 And pos = 1 Then
    return items(0)
    else if items.Length = 2 And pos = 2
    return items(1)
    End if
    
    End Function
    

    单元格中的表达式是

    =Code.GetRitop(LookupSet(Fields!SignalId.Value, Fields!SignalId.Value, Fields!r_configuration.Value, "RDataset"),1)
    

    其中 1 是数组位置

    【讨论】:

      猜你喜欢
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多