我有一份包含3个下拉列表的SSRS报告。
第一次下拉是针对doctorDepartment并且是多值的
第二个是保险政策,是多值的
第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
答案 0 :(得分:1)
您可以使用默认值执行此操作:
' '
, - 1,类似'Default'
等字词更新您的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