在ssrs 2008报告中,我有一个用户有时想要选择2个不同的参数。
用户有时希望: 1.只选择邮政编码, 2.仅选择城市和州,或 3.选择邮政编码和城市国家组合。
在SSRS 2008报告中,我看不出这是怎么回事?如果我不对,你会让 我知道如何实现这个目标吗?
如果这是不可能的,我能看到的唯一选择是创建另一个参数 选项是选择: 1.只选择邮政编码, 2.仅选择城市和州,或 3.选择邮政编码和城市对帐单组合。 选择此选项后,相应的选项将是: 请求参数可供请求。
让我知道你的建议是最好的选择。
答案 0 :(得分:1)
我会有两个过滤器(实际上City和State是分开的,所以THREE)并允许它们为NULL。
如果要根据查询中的参数进行过滤,则可以添加where子句以匹配参数,除非它为NULL:
SELECT *
FROM TABLE
WHERE (ZIP = @ZIP OR @ZIP IS NULL)
OR (
(CITY = @CITY OR @CITY IS NULL)
AND
(STATE = @STATE OR @STATE IS NULL)
)
如果要使用Expression过滤SSRS,则需要将它们组合在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 参数是NOT NULL然后是
其他
如果City和State字段等于其参数且不为NULL,则为是
否则没有。