ssrs报告2008选择1或其他参数

时间:2016-12-19 21:05:28

标签: reporting-services ssrs-2008 ssrs-tablix

在ssrs 2008报告中,我有一个用户有时想要选择2个不同的参数。

用户有时希望: 1.只选择邮政编码, 2.仅选择城市和州,或 3.选择邮政编码和城市国家组合。

在SSRS 2008报告中,我看不出这是怎么回事?如果我不对,你会让 我知道如何实现这个目标吗?

如果这是不可能的,我能看到的唯一选择是创建另一个参数 选项是选择: 1.只选择邮政编码, 2.仅选择城市和州,或 3.选择邮政编码和城市对帐单组合。 选择此选项后,相应的选项将是: 请求参数可供请求。

让我知道你的建议是最好的选择。

1 个答案:

答案 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,则为是

     

否则没有。