当您有多个多值下拉时,有没有办法使用其中一个?

时间:2013-03-11 12:41:52

标签: reporting-services

当您有多个多值下拉菜单时,有没有办法使用其中一个?

现在,凭借我的逻辑,我添加了一个下拉参数。此下拉列表具有以下值:

  • 返回所有内容 - 1 - (这应该默认两个多值下拉到“Everything”
  • 选择参数1 - 2 - (这应该允许您从参数1中选择任何内容,并将默认参数2选择为“全部”)
  • 选择参数2 - 3 - (这应该允许您从参数2中选择任何内容,并将默认参数1选择为“全部”)

为了解决这个问题,我在参数的默认值中使用以下表达式:

参数1 (零是参数中返回的值):

=iif(Parameters!Criteria.Value = 1, Nothing, iif(Parameters!Criteria.Value = 3, Nothing, 0))

参数2

=iif(Parameters!Criteria.Value = 1, Nothing, iif(Parameters!Criteria.Value = 2, Nothing, 0))

然而,这种逻辑似乎并没有像我期望的那样起作用。表达式Nothing应该将NULL放入我的参数数据集中,然后默认返回“Everything”,但这不会发生。

1 个答案:

答案 0 :(得分:1)

我会修改方法 - AFAIK只能使用Expression将单个值设置为默认值。

因此,我将为Parameter1和Parameter2创建一个新的数据集。此数据集将为每个参数提供默认值(代替您当前正在尝试的表达式)。

E.g。新的Parameter1_Default数据集应该显示通常呈现给参数1的所有行。然后在该数据集的WHERE子句中,添加:WHERE 3 = @Criteria。

然后在Parameter1定义中,将默认值设置为来自新的Parameter1_Default数据集。当Criteria = 3时,它将“全选”Parameter1值。当Criteria<> 3不会选择Para​​meter1值。

重复参数2。