SSRS多选参数,均为空和非空

时间:2013-08-24 17:56:40

标签: reporting-services

我是SSRS的新手,并且已经完成了一个允许用户选择NULL,非NULL或两者的报告。

例如

Name | ID
BOB     1
ALICE   2
DAVE    NULL
ROGER   NULL

用户需要能够选择具有ID值的记录和/或没有ID值的记录。 所以它将是一个多选参数(ID,NO ID,ALL)。

我可以使用sql查询来完成这项工作,但我不确定如何使用可以是或者两者的用户参数。

id字段是小数。

有关如何执行此操作的建议吗?

感谢。

2 个答案:

答案 0 :(得分:1)

一种方法是在WHERE子句中包含以下条件:

and (ID is null and 'NO ID' in @Parameter or
     ID is not null and 'ID' in @Parameter)

或者,如果非空ID值始终为正,则可以使用" NO ID"和" ID"作为参数值标签,实际可用的分别为0和1,并使用如下条件:

and sign(coalesce(ID, 0)) in @Parameter

(这些条件在常规SQL中不起作用 - @Parameter始终是单值的 - 但应该在SSRS中有效。)

答案 1 :(得分:1)

在Report参数的常规选项卡中。 允许空值有一个选项。检查那个方框。

同时将您的查询更新为

From UserTable
Where (ID IS NULL OR ID IN (@IDparam))

如果您需要了解更多邻近Multi Select参数,请参阅以下链接 http://jsimonbi.wordpress.com/2011/01/15/using-multi-select-with-stored-procedures/ http://technet.microsoft.com/en-us/library/aa337396(v=sql.105).aspx