SELECT Usage.*
,(SELECT SecRole.Name +‘,’FROM SystemUserRoles SysUser
INNERJOINRole SecRole ON SysUser.RoleId = SecRole.RoleId
INNERJOIN SystemUse SU ON SysUser.SystemUserId = SU.SystemUserId
WHERE SU.DomainName = Usage.UserName
FORXMLPATH (”))AS SecRoleNames
FROM
(
SELECT U.fullname AS [FullName], U.DomainName AS [UserName]
,DATEPART(YYYY,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))AS [Year]
,DATEPART(MM,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))AS [Month]
,DATEPART(DD,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))AS [Day]
,COUNT(*) [Counter]
,MIN(DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn)) [FirstAccessAt]
,MAX(DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn)) [LastAccessAt]
FROM AUDIT A
INNERJOIN SystemUser U ON A.objectid = U.Systemuserid
WHEREAction= 64
GROUPBY
U.fullname, U.DomainName
,DATEPART(YYYY,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))
,DATEPART(MM,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))
,DATEPART(DD,DATEADD(HH,(DATEDIFF(HH,GetUTCDate(),GetDate())), A.CreatedOn))
) Usage
Hope you find this script handy.