SSRS参数一个标签但多个值

时间:2016-11-14 23:09:44

标签: sql sql-server reporting-services

我有一个分类代码的查询:如果'PC'它返回'Compatible,如果Null则返回Unclassified,如果其他所有内容返回'Not-Compatible'。别名列是“分类”。

> SELECT   CASE WHEN class.code IS NULL THEN 'Unclassified'
> WHEN class.Code = 'PC' THEN 'Compatible' ELSE 'Not-Compatible'
> END Classification,  FROM classification class

现在我想将此分类设置为我的SSRS报告中的参数。

WHERE class.Code LIKE @Classification

然后在我的@Classification参数Parameter Set up

因此,在我的报告中,用户被提示选择分类,如何让用户选择“其他”返回“未分类”?我不能使用别名列名称“分类”来获取值。如果有办法将多个值设置到“未分类”标签中?

2 个答案:

答案 0 :(得分:1)

您可以将此逻辑构建到WHERE子句中。首先将Non-Compatible的值更改为“NC”。然后你可以做这样的事情:

WHERE (@Classification != 'NC' and class.Code LIKE @Classification)
  OR (@Classification = 'NC' and class.Code != 'PC')

答案 1 :(得分:1)

尝试将您的查询修改为:

SELECT WhatEverColumnYouNeed  
FROM classification  
WHERE (CASE WHEN class.code IS NULL THEN 'Unclassified'  
            WHEN class.Code = 'PC' THEN 'Compatible'  
            ELSE 'Not-Compatible' END
      ) 
      IN (@Classification)

然后让@Classification成为一个多值参数。将可用值设置为Unclassified,Compatible和Not-Compatible。值与标签相同。