我使用带有表达式的数据集过滤器为SSRS和Im编写了一份报告来过滤报告信息。我似乎有这个表达式错误或过滤器无法正常工作:
=IIf(Parameters!DoctorID.Value = "All" Or Parameters!DoctorID.Value = "", "*", Parameters!DoctorID.Value)
我想用上面的代码完成的是如果DoctorID = ALL或“”(空白)然后我想从过滤器中省略它,所以我返回所有医生的信息。但是,只要DoctorID = ALL的值,我就不会返回任何行。应该是我获得所有行的情况,因为DoctorID不是特定的数字。
“*”(星号)是否表示省略该过滤器?我在这里做错了吗?
谢谢!
答案 0 :(得分:0)
您提供的过滤器公式只是公式的一半:运算符是什么以及您将其与此进行比较的是什么?是的,我没有看到SSRS使用星号作为通配符。
考虑将过滤器放入数据集的查询中。 SQL WHERE子句可以变得非常强大。我会将您的过滤器写入查询
...
WHERE
@DoctorID = 'All' OR @DoctorID = ''
OR @DoctorID = myTable.DoctorID
这也可以让您轻松地移动到多值参数。