标签: reporting-services
第三方应用程序传递的参数值如下:Parameters=Collapsed&Priority=P1%7cP2。它使用%7c(管道),而不是按照SSRS寻找它们的方式传递参数,如下所示:Parameters=Collapsed&Priority=P1&Priority=P2。该参数在SSRS中是多选的,可以在Report Builder中正常使用。我的where子句使用IN(@priority)。
Parameters=Collapsed&Priority=P1%7cP2
%7c
SSRS
Parameters=Collapsed&Priority=P1&Priority=P2
如何让SSRS使用URL中传递的参数值?
答案 0 :(得分:0)
如果无法更改应用程序以提供正确的多值参数语法(...&Priority=Value1&Priority=Value2&Priority=Value3...),则可以将数据集属性的“参数”部分中传递给数据集的值设置为以下表达式:
...&Priority=Value1&Priority=Value2&Priority=Value3...
=split(Parameters!Priority.Value,"|")
这将采用管道分隔列表,并将其分成可以传递给SQL查询并与IN函数一起使用的项目列表。
IN
我创建了一个虚拟报告来证明这一点:
<强>参数强>
<强>数据集强>
数据集属性
报告结果