【问题标题】:Making parameter Optional with multivalue parameter in SSRS?在SSRS中使用多值参数使参数可选?
【发布时间】:2016-10-27 15:46:22
【问题描述】:

我有一个参数,其中我同时选择了“允许多个值”,如何将相同的参数设为可选。例如,如果客户想要将参数值保留为空白,另一方面,如果客户想要选择任何值,那么它是允许的。如果任何参数留空,代码应该运行

我正在使用下面提到的查询,我想将注册类型设置为我想要上述条件的参数

Where (School IN (@school)) 
  AND (School_Year IN (@schoolyear)) 
  AND ((EnrollmentType IN (@EnrollmentType)) OR ('' IN (@EnrollmentType))) 
   OR (Grade IN (@Grade))

【问题讨论】:

  • 您不能将一个参数设置为允许多个值同时允许空值。你是如何填充你的参数的?

标签: sql sql-server ssrs-2008 ssrs-2008-r2 ssrs-2012


【解决方案1】:

您可以在常规选项卡上的 ssrs >> 参数属性中选择允许空白值的选项是您需要的 sql:

Where (School IN (@school) or @school='' )

你也可以用允许空值做同样的事情

Where (School IN (@school) or @school is null )

【讨论】:

  • 在我添加“Where (School IN (@school) or @school='')”并选择“允许空白值”后,再次不允许选择复选框(空白)跨度>
  • 现在正在运行,请忽略上次评论,谢谢。
  • 有一个问题,如果按照你的建议去做。当我在可用值(在报告参数中)中手动添加“指定值”并对默认值执行相同操作时,它会起作用。它工作正常但是当我在指定值中选择数据集值并在默认值中选择空白时,它不起作用任何建议请
  • 您的数据集值需要包含该默认值。
【解决方案2】:

我猜你正试图让你的enrollment_type 参数对用户来说是可选的。如果您不希望默认对enrollment_type 进行过滤,您可以设置参数的默认设置。

如果您从查询中填充参数值,请将默认值设置为与可用值完全相同,即parameter>Default Values>Get Value from Query>Dataset>Value

通过将可用值和默认值设置为相同。系统不会要求您为注册类型选择任何值,并且会自动选中 Select All 选项。

您需要在数据集中添加EnrollmentType IN (@EnrollmentType)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多