SSRS报告 - 数据集筛选器
问题描述:
我已经为SSRS和Im编写了一份报告,其中使用了带有表达式的数据集筛选器来过滤报告信息。我似乎要么这个表达错误或过滤器工作不正常:SSRS报告 - 数据集筛选器
=IIf(Parameters!DoctorID.Value = "All" Or Parameters!DoctorID.Value = "", "*", Parameters!DoctorID.Value)
我想用上面的代码来完成的,如果DoctorID = ALL或“”(空白),那么我想从忽略它过滤器,以便我为所有医生返回信息。但是,无论何时DoctorID的值为ALL,我都没有返回任何行。应该是这样,我得到所有行,因为DoctorID不是一个具体的数字。
“*”(星号)不表示省略该过滤器吗?我在这里做错了什么?
谢谢!
答
您提供的过滤器公式只有等式的一半:运算符是什么,您将这与哪个进行比较?是的,我没有看到SSRS使用星号作为通配符。
考虑将您的过滤器放入数据集的查询中。 SQL WHERE子句可以变得非常强大。我会写你的过滤器到查询中,因为
...
WHERE
@DoctorID = 'All' OR @DoctorID = ''
OR @DoctorID = myTable.DoctorID
这也可以让你移动到一个多值参数很容易。
感谢您的回复。我实际上使用了你的答案的变体来解决我的问题。 WHERE(@DoctorID ='All'和1 = 1)或者(doctor_id = @DoctorID)似乎有诀窍。 – Encryption 2012-02-09 14:48:14