如何过滤SSRS报告中的记录

时间:2014-02-10 07:21:53

标签: reporting-services ssrs-2008

我一直在SSRS报告中工作,我需要显示在线用户的记录和他们登录的部门类型。

我在数据库中的数据是这样的。

Data         Type                 UserName   
10/02/2014   Login                Admin
10/02/2014   OperationsLoggedIn   Admin
10/02/2014   Logout               Admin
10/02/2014   Login                User
10/03/2014   OperationsLoggedIn   User
10/03/2014   FinanceloggedIn      ABC

现在我需要在表格中的SSRS报告中显示。我只是想显示哪些是在线用户,还需要检查列出的用户是否应该已经注销。

在这种情况下,我只需要显示2个条目。

10/03/2014   OperationsLoggedIn   User
10/03/2014   FinanceloggedIn      ABC

我不想显示管理员条目的原因是因为他已经退出了。那么我应该如何在SSRS中应用过滤?

我想检查的条件是:

1. Only OperationsLogedIn and FinaceLoggedIn should show
2. User should not have logged out.

任何人都可以为此指导我吗?

2 个答案:

答案 0 :(得分:0)

我相信第一列[数据]必须有DateTime,以便我们可以识别特定用户的最后/最新活动或类型,例如Admin login @ 10AM&注销@11AM ...这样做我们需要获得用户的最新活动,然后在SSRS报告中包含或排除任何内容的条件

SELECT * FROM
(Select Data,Type,UserName,Rank() Over(Partition By UserName Order By Data Desc) AS ActiveStatus
    From Table1
) LoginDetails Where ActiveStatus=1 --(To get current status of user)   

答案 1 :(得分:0)

如果您右键单击数据集并单击“数据集属性...”,则在“过滤器”选项卡下可以应用过滤器,如果您不想通过SQL添加过滤器。如果有其他列告诉您用户是否已登录,则可以简单地使用更多过滤器。例如:

表达:[类型] 接线员:在 值:OperationsLogedIn,FinaceLoggedIn