0

我有一个带有 3 个下拉菜单的 SSRS 报告。

  • 第一个下拉列表是针对医生部门的,并且是多值的

  • 第二个是保险政策,是多值的

  • 第三个是医生列表,只有一个值

第 3 个下拉菜单使用以下查询从数据集中获取数据。

@specialityId 和@insurancePolicy 这两个参数分别由第一个两个下拉菜单(doctorDepartment 和 insurancePolicy)控制。

问题是,我需要用户能够有选择地从下拉列表或两者中选择一个值。

但它现在的工作方式是,为了在第三个下拉列表中显示数据,需要两者中的一个值......这意味着第三个下拉列表只填充数据,直到用户从第一个和第一个中选择一个值第二个下拉。

有没有办法告诉 SSRS 用户只需要从 1 或另一个或两者中选择一个值,但不需要两者?

我尝试允许第一个两个参数为空值,但 SSRS 不允许您设置该参数的选项允许多值。

谢谢!

SELECT ml.doctorID, doctorDisplayName 
FROM doctorList ml
   INNER JOIN doctorDepartment mc ON ml.doctorID = mc.doctorID
WHERE (mc.specialityId IN (@specialityId)
     OR ml.insurancePolicy IN (@insurancePolicy))
ORDER BY doctorDisplayName
4

1 回答 1

1

您可以使用默认值执行此操作:

  1. 在前两个参数列表中添加一个额外的标签/值对;该值可以是空格' '、-1、单词等'Default'
  2. 将两者的默认值设置为这些新值
  3. 更新您的WHERE子句以允许一个或多个选定参数:

    WHERE mc.specialityId IN (@specialityId) AND 'Default' IN (@insurancePolicy)  --first param selected
      OR 'Default' IN (@specialityId) AND ml.insurancePolicy IN (@insurancePolicy)  --second param selected
      OR mc.specialityId IN (@specialityId) AND ml.insurancePolicy IN (@insurancePolicy)  --both selected
    
于 2015-03-27T06:40:21.367 回答