我是SSRS的新手,并且已经完成了一个允许用户选择NULL,非NULL或两者的报告。
例如
Name | ID
BOB 1
ALICE 2
DAVE NULL
ROGER NULL
用户需要能够选择具有ID值的记录和/或没有ID值的记录。 所以它将是一个多选参数(ID,NO ID,ALL)。
我可以使用sql查询来完成这项工作,但我不确定如何使用可以是或者两者的用户参数。
id字段是小数。
有关如何执行此操作的建议吗?
感谢。
答案 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