如何允许SSRS中的下拉列表参数的默认值为" - 全 - "?

Cof*_*fee 7 sql-server reporting-services ssrs-2008

我有一个下拉列表,根据存储过程填充 - 部件工作正常.

在此输入图像描述

它会根据"调查ID"的内容动态填充

但我不想说<Select a Value>,而是应该说" -- All -- ",因为这就是报告的工作方式.

到目前为止,我尝试创建一个返回的虚拟数据集,Null并标记为"all",但它不起作用.也许我做错了?我用过这个:

select distinct  Name, ID  from LK_TargetTypes
where Name like '%pizza'
union select '-- All --', null ;
Run Code Online (Sandbox Code Playgroud)

所以LK_TargetTypes是一些无关紧要的表格.我想将其与其他DDL值合并.

这是另一张图片:

在此输入图像描述

任何提示赞赏谢谢.

dja*_*azz 2

我同意克里斯的回答,但我想补充一点,有时您想将默认值添加到多个值中,该值既不是全部也不是单个选择。一般来说,我设置两个数据集,每个数据集都在一个用于报告的表变量中。与此类似:

“AvailableValues”数据集可以是:

declare @Table Table ( personID int identity, person varchar(8));

insert into @Table values ('Brett'),('John'),('Peter');

select *
from @Table
Run Code Online (Sandbox Code Playgroud)

“DefaultValues”数据集可以是:

declare @Table Table ( personID int identity, person varchar(8));

insert into @Table values ('Brett'),('John');

select *
from @Table
Run Code Online (Sandbox Code Playgroud)

如果我设置一个参数并将“可用”值绑定到“从查询中获取值”,然后选择我的可用数据集,它将具有第一组。如果我随后选择“默认”值并选择“从查询中获取值”并选择默认值,我可以选择一个子集作为默认值。唯一的问题是您必须确保第二个数据源是第一个数据源的合法子集。

您还可以从第一组中选择默认值以获取所有值的列表以及选择您指定的所有值。

  • 没问题,在我的书中,使用 SSRS 时默认值是很好的实践。动态默认值甚至更好:) (2认同)