将多个过滤器应用于Visual Studio中的数据集

时间:2017-11-02 20:38:49

标签: visual-studio reporting-services ssrs-2012

我需要创建一份报告来查找员工。用户希望能够输入以下内容之一来查找记录:LastName OR FirstName OR Department OR EmplID。

我想使用已经存在的存储过程,但是它被其他报告使用,因此无法修改。

我正在尝试将参数设置为数据集上的过滤器,并且它适用于ONE过滤器。一旦我添加另一个,它就会停止工作。

任何见解?

1 个答案:

答案 0 :(得分:1)

最简单的方法是,保留原始SP是将SP的结果转储到临时表中,然后按参数过滤该临时表。

让我们说你的SP目前返回

EmpID, DeptID, EmpFirstName, EmpLastName, EmpDeptID, EmpDept

那么你可以做这样的事情......

CREATE TABLE #t(EmpID int, DeptID int, EmpFirstName varchar(50), EmpLastName varchar(50), DeptName varchar(50))

INSERT INTO #t
    EXEC myStoredProc

SELECT * FROM #t
    WHERE EmpID LIKE '%' + @EmpID + '%'
        OR DeptID LIKE '%' + @DeptID + '%'
        OR EmpFirstName LIKE '%' + @FirstName + '%'
        OR EmpLastName LIKE '%' + @LastName + '%'

或类似的......