我正在构建一个包含 3 个参数(供应商 ID、开始日期和结束日期)的 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 中的问题吗?
我在这样做时遇到了麻烦,任何帮助将不胜感激。
更新后包括:
(
customer.customer_id = @customerid
OR
@customerid =''
) AND
并更改 SSRS 中的参数这是错误消息: 在此处输入图像描述
但是,如果我在没有该参数和代码部分的情况下运行它,则报告有效。