SSRS - 使用多个参数限制结果

时间:2015-03-09 11:27:15

标签: reporting-services

我正在创建一个有两个参数的债务人开票报告。

参数1:这是一个名为@booking_date的单值参数。我通过将结果作为查询参数添加到查询中来过滤结果(主数据集)。

  

EG。 WHERE BookingDate = @booking_Date

参数2:此参数有两个指定值 - 是或否。参数名为@live_run,默认值为“否”。基本上,当此参数的默认值为“否”时,它不会以任何方式限制/影响结果。另一方面,当此参数的值为“是”时,它应通过仅显示已支付发票的预订来限制结果。我可以使用一个名为Booking_Paid_off的字段,如下所示 - WHERE Booking_Paid_Off = 1.

我有参数1,但我不确定如何引入参数2,因为它将基于两个条件,我是否需要使用If语句或case语句?我是否需要为第二个参数创建新数据集?我只想限制参数2的结果,如果参数2的值为是,否则我希望结果保持不变。

1 个答案:

答案 0 :(得分:0)

你有很多选择。您可以完全根据参数切换数据集,或者使用数据集中的IF来确定要运行的查询,或者只是检查WHERE子句中的参数。

我推荐后者。

SELECT 
    Field1, 
    Field2 
FROM 
    Table1 
WHERE
    (
        (@live_run = 'Yes' and Booking_Paid_Off = 1)
        or (@live_run <> 'Yes')
    )