Reporting services 当您有多个多值下拉列表时,是否有方法使用其中一个?

Reporting services 当您有多个多值下拉列表时,是否有方法使用其中一个?,reporting-services,Reporting Services,当您有多个多值下拉列表时,是否有方法使用其中一个 现在,我用我的逻辑添加了一个下拉参数。此下拉列表具有以下值: 返回所有内容-1-(这应将两个多值下拉列表默认为“所有内容” 选择参数1-2-(这将允许您从参数1中选择所需的任何内容,并将默认参数2设置为“一切”) 选择参数2-3-(这将允许您从参数2中选择所需内容,并将默认参数1设置为“一切”) 要处理此问题,我在参数的默认值中使用以下表达式: 参数1(零是参数中返回的值): 和参数2: =iif(Parameters!Criteria.Va

当您有多个多值下拉列表时,是否有方法使用其中一个

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

  • 返回所有内容-1-(这应将两个多值下拉列表默认为“所有内容”
  • 选择参数1-2-(这将允许您从参数1中选择所需的任何内容,并将默认参数2设置为“一切”)
  • 选择参数2-3-(这将允许您从参数2中选择所需内容,并将默认参数1设置为“一切”)
要处理此问题,我在参数的默认值中使用以下表达式:

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

参数2

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

然而,这个逻辑似乎并不像我期望的那样工作。表达式
Nothing
应该向我的参数数据集中抛出一个
NULL
,然后默认返回“Everything”,但这不会发生。

我会修改方法-AFAIK您只能使用表达式将单个值设置为默认值

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

例如,新参数1_默认数据集应显示通常显示给参数1的所有行。然后在该数据集的WHERE子句中,添加:WHERE 3=@Criteria

然后在Parameter1定义中,将默认值设置为来自新Parameter1\u默认数据集。当Criteria=3时,它将“选择所有”Parameter1值。当Criteria 3时,将不选择Parameter1值


对参数2重复上述操作。

在我要选择的参数的默认值中,您将这些表达式(对于参数1/2)放在哪里了?谢谢,这非常有效。不幸的是(在我的情况下)两个参数都有多个存储过程,但我接受它!
=iif(Parameters!Criteria.Value = 1, Nothing, iif(Parameters!Criteria.Value = 2, Nothing, 0))