具有2个级联参数的数据集

时间:2016-05-16 16:16:48

标签: reporting-services ssrs-2008-r2 ssrs-2012

我有一个填充下拉列表的数据集,数据集后面的查询使用两个级联参数。

基本上它看起来像这样:

choose an engine: [drop down list]       //defaults to 0
choose a transmission: [drop down list]  //defaults to 0
list of choices: [drop down list]

如果用户不想使用这些参数,则两个级联参数的默认值均为零。

不应该默认值允许我的数据集查询"选项列表"下拉列表自动执行?

或者还有其他我需要做的事情吗?

由于

2 个答案:

答案 0 :(得分:1)

我不确定我是否完全理解这个问题,但我会说每个数据集都需要一个参数,当空白时会给出所有结果。

这可以在查询所需结果的SQL脚本中实现,可能使用if @Param = "" SELECT * FROM tab ELSE SELECT * FROM tab WHERE col = @Param类型脚本。这应该允许您依次填充每个参数空白,从而导致最后一个参数。

不幸的是,因为无论你做什么,第二个参数都依赖于第一个参数(即使仅在某些情况下),你必须在进入下一个参数之前输入空白值。但是,如果在填充第二个参数时使用与上面类似的东西,则第三个选择all时,第三个应该默认选择all,

答案 1 :(得分:1)

如果我理解正确,那么我看到的一个问题是0数据集中不存在您的默认值list of choices。如果数据集后面的查询类似于:WHERE engine IN (@engine) AND transmission IN (@Transmission),那么使用默认值0可能不会返回任何内容。相反,如果您希望返回所有行,请尝试将查询更改为:

WHERE (@engine = 0 OR engine IN (@engine))
AND (@transmission = 0 OR transmission IN (@transmission))