选择All作为Multivalue参数的默认值

ilj*_*itj 53 sql-server parameters visual-studio-2008 reporting-services

我正在Visual Studio 2008中构建一个包含大量多值参数的报表,它工作得很好,但我想在打开报表时将"(全选)"选项作为默认值.

是否有某种表达式或SQL代码可用于实现此目的?或者每次我想要运行报告时,是否每次都需要选择"(全选)"?

JC *_*ord 90

尝试设置参数"默认值"以使用与"可用值"相同的查询.实际上,它将每个"可用值"作为"默认值"提供,并自动选中"全选"选项.

  • 万分感谢.唯一要补充的是; 如果您用于"可用值"的查询返回任何空值,则无法将默认值设置为"(全选"),可能是因为多值函数不允许空值.无论如何,非常感谢答案. (18认同)

Paw*_*och 16

使用具有默认值的数据集是一种方法,但必须使用查询"可用值"和"默认值",如果值在"可用值"选项卡中进行了硬编码,则必须将默认值定义为表达式.图片应该解释一切

创建参数(如果没有自动创建)

创建参数

定义值 - 错误的方式示例

定义价值观 - 错误的方式

定义值 - 正确的方式示例

定义值 - 正确的方法

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

设置默认值

结果

结果

数据类型的一张图片:Int

数据类型Int的一张图片


小智 8

如果你有空值则不起作用.

您可以通过修改select语句来将某些东西变成空值来解决这个问题:

phonenumber = CASE
  WHEN (isnull(phonenumber, '')='') THEN '(blank)'
  ELSE phonenumber
END
Run Code Online (Sandbox Code Playgroud)

  • ssrs总是让我输出一个悲伤的脸 (6认同)

aje*_*jeh 5

接受的答案是正确的,但不完整.为了Select All成为默认选项,可用值数据集必须至少包含2列:值和标签.他们可以返回相同的数据,但他们的名字必须不同.然后,默认值数据集将使用值列,然后Select All将是默认值.如果数据集仅返回1列,则在参数的下拉列表中仅选择最后一个记录的值.