如何在SSMS中实现空白参数?

问题描述 投票:0回答:1

我正在构建一个包含3个参数(supplierid,startdate和enddate)的SSRS报告,但是我试图实现一个称为customerid的可选参数(一个允许空白值的参数)。这是我的代码:

WHERE  (invoice_hdr.company_no = 1) AND
       (supplier.supplier_id = @supplierid) AND
       (@customerid = 
          CASE @customerid
            WHEN customer.customer_id THEN customer.customer_id 
            ELSE 0
            END) AND
       (invoice_hdr.invoice_date >= DATEADD(DAY,-365,GETDATE()) AND
       --(invoice_hdr.invoice_date >= @startdate) AND
       --(invoice_hdr.invoice_date <= @enddate) AND
       (invoice_line.tax_item = 'N') AND

我想说的是:如果将值输入到customerid参数中,然后与其他过滤器一起返回该值,但如果该参数中未放置任何值,则绕过该过滤器并继续运行查询,就像它不在那里一样。我更改了SSRS中的参数设置,以允许使用空白/空值,但报告出错。反正有这样做吗?这是SSRS中的问题吗?

我在执行此操作时遇到了麻烦,我们将不胜感激。

reporting-services ssms
1个回答
0
投票

不知道没有错误消息的问题是什么,但是我通常使用类似的东西:

AND (
    customer.customer_id = @customerid
    OR
    @customerid IS NULL
    )

这将包括与该参数匹配的所有ID;如果参数为NULL,则将包括ALL ID。

© www.soinside.com 2019 - 2024. All rights reserved.