我有一份报告,其中用户可以在其中一个参数列表中选择多个项目。点击报告将打开一个子报告,并将参数传递给子报告。如果只有一个项目被选中,那么这工作正常。如果选择了多个项目,则只有参数列表中的一个项目被传递给子报告。ssrs 2008将参数列表传递给子报表
父报告正常工作,子报告只显示第一项。 我正在使用SSRS 2008 R2。 我怎样才能让子报告接受传递参数的所有项目?
我有一份报告,其中用户可以在其中一个参数列表中选择多个项目。点击报告将打开一个子报告,并将参数传递给子报告。如果只有一个项目被选中,那么这工作正常。如果选择了多个项目,则只有参数列表中的一个项目被传递给子报告。ssrs 2008将参数列表传递给子报表
父报告正常工作,子报告只显示第一项。 我正在使用SSRS 2008 R2。 我怎样才能让子报告接受传递参数的所有项目?
有几件事情要检查:
[@paramName]
而不是"=Parameters!ParamName.Value(0)"
,因为这表示仅检索第一个值。=Split(join(Parameters!ParamName.Value,","),",")
,它会创建一个以逗号分隔的参数值列表,然后将它分成一个数组。Here's a link到一个博客,该博客有一个人将多值参数传递给子报表的截图。
我在sql中使用了一种解决方法,因为在ssrs中使用多个参数是一种痛苦。正如mmarie所说,通过连接参数(= Split(join(Parameters!ParamName.Value,“,”),“,”))中的多个值开始,然后使用字符串比较检查子报表中的项目。 它通常给出像WHERE'%''+ subreport_item +',%'LIKE','+ parent_report_multiple_parameters +',' 这是一个快速肮脏的解决方案...
谢谢,非常有帮助。 –