ilj*_*itj 53 sql-server parameters visual-studio-2008 reporting-services
我正在Visual Studio 2008中构建一个包含大量多值参数的报表,它工作得很好,但我想在打开报表时将"(全选)"选项作为默认值.
是否有某种表达式或SQL代码可用于实现此目的?或者每次我想要运行报告时,是否每次都需要选择"(全选)"?
JC *_*ord 90
尝试设置参数"默认值"以使用与"可用值"相同的查询.实际上,它将每个"可用值"作为"默认值"提供,并自动选中"全选"选项.
Paw*_*och 16
使用具有默认值的数据集是一种方法,但必须使用查询"可用值"和"默认值",如果值在"可用值"选项卡中进行了硬编码,则必须将默认值定义为表达式.图片应该解释一切
创建参数(如果没有自动创建)

定义值 - 错误的方式示例

定义值 - 正确的方式示例

设置默认值 - 您必须定义反映可用值的所有默认值以默认设置为"全选",如果您不定义所有默认值,则默认情况下仅选择定义的那些.

结果

数据类型的一张图片:Int

小智 8
如果你有空值则不起作用.
您可以通过修改select语句来将某些东西变成空值来解决这个问题:
phonenumber = CASE
WHEN (isnull(phonenumber, '')='') THEN '(blank)'
ELSE phonenumber
END
Run Code Online (Sandbox Code Playgroud)
接受的答案是正确的,但不完整.为了Select All成为默认选项,可用值数据集必须至少包含2列:值和标签.他们可以返回相同的数据,但他们的名字必须不同.然后,默认值数据集将使用值列,然后Select All将是默认值.如果数据集仅返回1列,则在参数的下拉列表中仅选择最后一个记录的值.