我将有两个过滤器(实际上城市和州是分开的,所以有三个),并允许它们为空。
如果要按查询中的参数进行筛选,则可以添加where子句以匹配参数,除非参数为空:
SELECT *
FROM TABLE
WHERE (ZIP = @ZIP OR @ZIP IS NULL)
OR (
(CITY = @CITY OR @CITY IS NULL)
AND
(STATE = @STATE OR @STATE IS NULL)
)
如果要使用表达式在SSR中进行过滤,则需要将它们组合在IIF中:
=IIF(Fields!ZIP.Value = Parameters!ZIP.Value AND NOT ISNOTHING(Parameters!ZIP.Value), 1,
IIF(Fields!CITY.Value = Parameters!CITY.Value AND NOT ISNOTHING(Parameters!CITY.Value) AND Fields!STATE.Value = Parameters!STATE.Value AND NOT ISNOTHING(Parameters!STATE.Value), 1, 0))
并设置
价值
相配
1.
.
内容如下:
如果ZIP等于ZIP参数,则ZIP
参数不为空,则为“是”
其他的
如果城市和州字段等于其参数且不为空,则为“是”
否则不会。