SSRS报告 - 数据集过滤器

时间:2012-02-08 22:16:14

标签: sql-server-2008 reporting-services

我使用带有表达式的数据集过滤器为SSRS和Im编写了一份报告来过滤报告信息。我似乎有这个表达式错误或过滤器无法正常工作:

=IIf(Parameters!DoctorID.Value = "All" Or Parameters!DoctorID.Value = "", "*", Parameters!DoctorID.Value)

我想用上面的代码完成的是如果DoctorID = ALL或“”(空白)然后我想从过滤器中省略它,所以我返回所有医生的信息。但是,只要DoctorID = ALL的值,我就不会返回任何行。应该是我获得所有行的情况,因为DoctorID不是特定的数字。

“*”(星号)是否表示省略该过滤器?我在这里做错了吗?

谢谢!

1 个答案:

答案 0 :(得分:0)

您提供的过滤器公式只是公式的一半:运算符是什么以及您将其与此进行比较的是什么?是的,我没有看到SSRS使用星号作为通配符。

考虑将过滤器放入数据集的查询中。 SQL WHERE子句可以变得非常强大。我会将您的过滤器写入查询

  ...
WHERE
   @DoctorID = 'All' OR @DoctorID = ''
   OR @DoctorID = myTable.DoctorID

这也可以让您轻松地移动到多值参数。