我一直在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.
任何人都可以为此指导我吗?
答案 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