【问题标题】:SSRS Blank ParametersSSRS 空白参数
【发布时间】:2016-08-08 16:44:49
【问题描述】:

我有 3 个简单的参数,它们都是文本,并且允许多个值以及空白值。没有可用值或默认值,因为我希望用户自己键入值。将所有参数留空时,不会显示任何数据,因为没有空白值。但是,当没有为参数输入值时,我想显示所有数据。我该怎么做?

这就是查询现在的样子

SELECT  [PROGRAMNO]
      ,[ACCTNO]
      ,[CLAIMNO]
      ,[TOTALCHARGES]
      ,[TOTALPAYMENT]
      ,[TYPE]
  FROM DATALINE
WHERE PROGRAMNO IN (@PROGRAMNO)
  AND ACCTNO IN (@ACCTNO)
  AND CLAIMNO IN (@CLAIMNO)

【问题讨论】:

    标签: database reporting-services parameters ssrs-2008


    【解决方案1】:

    您可以添加 OR 以允许每个条件为 NULL(或空白)值 - 取决于您在参数中允许的值。

    WHERE (PROGRAMNO IN (@PROGRAMNO) OR @PROGRAMNO is null)
      AND (ACCTNO IN (@ACCTNO) OR @ACCTNO IS NULL)
      AND (CLAIMNO IN (@CLAIMNO) OR @CLAIMNO IS NULL)
    

    或者如果您允许使用空白值:

    WHERE (PROGRAMNO IN (@PROGRAMNO) OR @PROGRAMNO = '' )
      AND (ACCTNO IN (@ACCTNO) OR @ACCTNO = '' )
      AND (CLAIMNO IN (@CLAIMNO) OR @CLAIMNO = '' )
    

    【讨论】:

      【解决方案2】:

      多值参数不允许空白输入。因此,您需要在下拉列表中添加一个代表空白值的项目。如果您手动指定可用值,您只需将其添加到列表中。该值将为空白,标签可能类似于“空白”或“N/A”。如果您使用查询来填充可用值,则需要将UNION 这个空白值添加到其他结果中。无论哪种方式,您还需要在主数据集中的 WHERE 子句中考虑这一点,正如 Hannover Fist 指出的那样。

      【讨论】:

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