【问题标题】:SSRS Multi Select Parameter, both Null and not nullSSRS 多选参数,Null 和非 Null
【发布时间】:2013-08-27 14:35:04
【问题描述】:

我是 SSRS 的新手,我的任务是编写一份允许用户选择 NULL、非 NULL 或两者的报告。

例如

Name | ID
BOB     1
ALICE   2
DAVE    NULL
ROGER   NULL

用户需要能够选择具有 ID 值的记录和/或没有 ID 值的记录。 所以这将是一个多选参数(ID、NO ID、ALL)。

我可以使用 sql 查询来完成这项工作,但我不确定如何使用可以是其中一个或两者的用户参数来使其工作。

id 字段是小数。

关于如何做到这一点的任何建议?

谢谢。

【问题讨论】:

    标签: reporting-services


    【解决方案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 中起作用。)

    【讨论】:

      【解决方案2】:

      在您的报告参数的常规选项卡中。 允许空值有一个选项。选中该框。

      还将您的查询更新为

      From UserTable
      Where (ID IS NULL OR ID IN (@IDparam))
      

      如果您需要了解更多有关“多选”参数的信息,请点击以下链接 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

      【讨论】:

      • 如果用户仅选择非空 ID,此答案将无法正常工作。
      • 我误解了这个问题。在我的解决方案@IDparam 中,它将显示全选、1、2、3 和 Null 等值,而不是显示为 ID、NO ID 和 ALL。如果实施此解决方案,用户将可以选择选择值为 1 或仅 1 和 3 或 1 和 Null 的 ID 等等。
      猜你喜欢
      • 1970-01-01
      • 2012-11-18
      • 1970-01-01
      • 1970-01-01
      • 2021-05-12
      • 1970-01-01
      • 2019-02-16
      • 2022-01-19
      • 1970-01-01
      相关资源
      最近更新 更多