2017-04-03 95 views
0

我的下一份报告...... enter image description here传递参数SSRS

我想添加一个参数...这将是用户输入的......问题是,如果该参数是空的,我希望它不是过滤嘴...如果填充,以过滤...

这可以实现吗?我认为,如果空会做

WHERE PARAMETER = ‘’ 

当然,这不是预期的行为,并...

回答

0

您可以在您的选择列表中的虚拟值。

例如:

select 
'All' as [Label], 
null as [Value] 

union all 

select 
    a.Name as [Label], 
    a.Value as [Value] 
from dbo.HereAreMyValues as [a] 

这会给你的“所有”选择选项,以显示你的所有参数(即未设置过滤)。

然后,您可以参考此为..

from dbo.Data as [d] 
where (d.Value = (@Parameter) or (@Parameter) is null) 

这会给你的数据,要么参数值相匹配,或者如果所有参数值为null。

+0

这只会在参数有“null”复选框时正常工作,对吗?如果该人将其留空,则不会返回任何内容...... – Chicago1988

+0

正确。在我使用这个选项的报告中,我有一个参数来过滤这个列表。所以我的第一个参数是你选择的职员类型,然后给你一个员工名单(或“全部”作为空值)。这使我只能选择一名工作人员或所有员工 - 两者之间没有任何关系。级联参数意味着null复选框消失(这看起来更好)。 – BishNaboB