【问题标题】:Display a column values in Report Header在报表标题中显示列值
【发布时间】:2019-06-06 22:39:53
【问题描述】:

需要在 Lookupset 中传递一列,我正在执行以下操作

="Billing Code: "+Code.JoinDistinct(LookupSet(Fields!BillingCode.Value, Fields!BillingCode.Value, Fields!BillingCode.Value, "DataSet1"),",")

函数是

public shared function JoinDistinct(
  dups as object(),
  delimiter as string
) as string

  dim result as string = ""
  system.array.sort(dups)

  for i as integer = 0 to dups.length - 1
    if i <> 0 then result += delimiter
    if i = 0 orElse dups(i) <> dups(i-1) then result += dups(i)
  next i

  return result

end function

结果

帐单代码:,,,A,,,,,,,

如何删除多余的逗号

【问题讨论】:

  • 您的问题是什么,它是如何不起作用的?你得到了什么结果?
  • 我想在报表标题中显示列值而不用逗号分隔重复项
  • ...我明白了,但什么不起作用?你得到了什么结果?
  • 当它是基于参数的单个值时它正在工作并且当多个值需要显示其空白时

标签: reporting-services


【解决方案1】:

您尝试做的事情当然是可能的,但需要一些解决方法。 Join 函数旨在处理一组值。您使用的列,即使它在该范围内可能有多行,也不是数组。您可以使用LookupSet 函数将行作为数组获取并将它们传递给Join 函数。如果您可能要删除重复的值,则必须添加自定义代码来处理。

这是一个如何做到这一点的示例:https://stackoverflow.com/a/27141955/2033717

如果这回答了你的问题,请告诉我。

【讨论】:

  • Join(LookupSet(Fields!itemId.Value , "Dataset1"), ",") 我在上面使用作为查找集给出错误
  • LookupSet 接受 4 个参数,而不是 2 个。有关详细信息,请参阅我共享的链接或官方文档。
  • 史蒂文,更新了我的问题。有空请回答
  • 最初的问题与使JoinLookupSet 函数正常工作有关。看起来他们现在是。如果这个自定义函数“JoinDistinct”产生了意想不到的结果,那将是一个不同的问题。我不熟悉那里使用的语法。您或许可以找到一些更适合您的类似示例。
猜你喜欢
  • 1970-01-01
  • 2014-10-12
  • 1970-01-01
  • 2014-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多