【问题标题】:SSRS multivalue parameter passingSSRS 多值参数传递
【发布时间】:2014-05-20 15:07:54
【问题描述】:

我有一个从查询中获得的多值参数。我将它传递给我的数据集,它就像一个冠军。 dataset参数使用join,即=JOIN(Parameters!CodeList.Value,",")。

到目前为止一切顺利。但是,当我将它传递给子报表时,子报表似乎只“获取”列表中的第一项而不是字符串。

另外,如果我在主报表上放置一个查看 CodeList 参数的文本框,即 =Parameters!CodeList.Value(0),我只会看到第一项。在此处使用 JOIN 会返回错误。

我显然没有在这里得到什么。任何可用的照明?:)

【问题讨论】:

  • 它的 (0),正在扼杀你的工作。删除它并使用加入,就像你讨论的那样。

标签: reporting-services parameter-passing


【解决方案1】:

这个怎么样?

=Parameters!CodeList.Value(0) gives you the first selected parameter value

=Parameters!CodeList.Value(1) gives you the second selected parameter value

so on

&

Join(Parameters!CodeList.Value,",")

will give you the all selected value for the parameter seperated by ,

条件是,参数应该存在lol'z。

【讨论】:

  • 是的,我一直使用 join()。没有用它来传递值。谢谢。
【解决方案2】:

假设您希望它的行为与此报告中的数据集相同(即您想发送一个包含参数中所有值的字符串,用逗号分隔),您只需将相同的内容传递给 SubReport 的参数:

=JOIN(Parameters!CodeList.Value,",")

如果您真正想要的是子报表中的参数与主报表中的参数具有相同的值,则需要传递:

=Parameters!CodeList.Value

注意末尾没有 (0)。它末尾的 (0) 将导致它仅传递参数中的第一个值,这不是您所追求的。

【讨论】:

  • 和上面一样感谢:) “我一直在使用 join()。没有用它来传递值。谢谢。”
猜你喜欢
  • 2018-11-17
  • 2012-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多