根据第一个参数禁用/忽略第二个参数

时间:2012-10-30 15:30:47

标签: ssrs-2008 reporting-services

我的报告中有2个多值参数。当我们仅使用其中一个生成报告时,就会出现问题。如果我为参数1选择一个值并保持参数2未被选中,则会出现错误:

  

请为参数Param2

选择一个值

即使我在参数的属性中选中“允许空白值”,也会发生这种情况。

另外:有没有办法根据另一个参数的值设置一个参数来启用/禁用?例如:

  • 如果我创建另一个具有值Param1,Param2的参数;
  • 如果我为Param1选择一个值,将仅根据在Param1中选择的值生成报告,禁用或忽略Param2

1 个答案:

答案 0 :(得分:0)

简短的回答是否定的。

我对这种情况的解决方法是摆弄数据集来驱动Param2的可用值列表。您需要对其进行设置,以便在选择特定的Param1值时,唯一匹配的行将是虚拟行(例如“N / A”)。这可能涉及UNION ALL生成该虚拟行。

我对默认值使用相同的数据集,以便在选择Para​​m1值时自动选择虚拟行。

然后,您需要满足引用Param2的其他数据集中的虚拟Param2值,例如: SELECT ... WHERE(@ Param2 ='N / A'OR Column2 = @ Param2)。