SSRS R2-比较多值参数中的单个值

时间:2013-12-27 21:21:48

标签: sql-server tsql reporting-services ssrs-grouping

我有一个多值参数,可以提取可用的国家/地区代码来过滤我的表格。

如果我将其设为单值,没问题 - @country默认值为“US”,并且还有大约15个其他国家/地区可供选择 - 无论您选择哪一个,只有包含该国家/地区代码的结果起来。但是,我希望用户能够选择多个国家/地区同时显示。  目前的过滤器是

Expression:[Country] text
Operator: = 
Value: @Country

我认为join()函数可以在这里工作,但它可能还有,但这似乎只对显示选择有用 - 如果我使用它,例如join(@Country,","),并且用户有选择“US”,“HK”它将比较结果以确保查询包含这两者,而不是一个或另一个。想法?

1 个答案:

答案 0 :(得分:2)

  

如果您希望用户选择多个国家/地区并查看结果   对于选定的多个国家/地区,您需要做两件事

     

1)创建一个允许“多值”的报告参数

     

2)修改您的查询以接受该多值参数   像这样

     

在你的情况下说你的国家参数是@Country,它是一个   多个值参数您的查询将如下所示

SELECT * 
FROM Table_Name 
WHERE (Country IN (@Country))   --<-- the key thing to notice is the extra set of parenthesis 
      |                     |       -- around the column Name as well
      |                     |
      \                     /
       \                   /
          these extra two parenthesis does the trick when we have a multiple value
          parameter.