【问题标题】:ssrs 2008 passing a parameter list to a subreportssrs 2008 将参数列表传递给子报表
【发布时间】:2013-11-20 13:34:23
【问题描述】:

我有一个报告,用户可以在其中为其中一个参数选择列表中的多个项目。单击报告会打开一个子报告,其中将参数传递给子报告。如果只选择了一个项目,那么这工作正常。如果选择了多项,则参数列表中只有一项会传递给子报表。

父报表工作正常,子报表只显示第一项。 我正在使用 SSRS 2008 R2。 如何让子报告接受传递参数的所有项目?

【问题讨论】:

    标签: sql-server reporting-services sql-server-2008-r2


    【解决方案1】:

    需要检查的几件事:

    1. 确保子报表中的参数设置为允许多个值。
    2. 确保将参数从主报表传递到子报表[@paramName] 而不是"=Parameters!ParamName.Value(0)",因为这表示只检索第一个值。
    3. 将子报表参数设置为可见并确保手动选择/输入多个值会返回适当的结果。
    4. 如果其他方法都失败了,请尝试使用类似 =Split(join(Parameters!ParamName.Value,","),",") 的公式,它会创建一个以逗号分隔的参数值列表,然后将其拆分为一个数组。

    【讨论】:

    • 谢谢,很有帮助。
    【解决方案2】:

    我在 sql 中使用了一种解决方法,因为在 ssrs 中使用多个参数很痛苦。正如 mmarie 所说,首先连接参数中的多个值 (=Split(join(Parameters!ParamName.Value,","),",")),然后使用字符串比较检查子报表中的项目。 它通常给出类似 WHERE '%,'+subreport_item+',%' LIKE ','+parent_report_multiple_parameters+',' 这是一个快速肮脏的解决方案......

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多