按角色列出的Dotnetnuke模块使用情况

按角色列出的Dotnetnuke模块使用情况,dotnetnuke,Dotnetnuke,我想看看每个门户的特定模块被浏览的次数,这是一个数字 基于角色的模块视图列表 我们可以使用SQL查询生成它吗 关于,要首先查找使用情况,您必须登录站点日志。其次,每个模块没有精确的日志记录。因为一个选项卡上可能有多个模块。然而,我们可以想象,如果页面被查看,那么页面上的所有模块都会被查看。我认为下面的查询将按模块为您提供计数 SELECT R.PortalID, TM.ModuleID, R.RoleName, COUNT(1) Tota

我想看看每个门户的特定模块被浏览的次数,这是一个数字 基于角色的模块视图列表

我们可以使用SQL查询生成它吗


关于,

要首先查找使用情况,您必须登录站点日志。其次,每个模块没有精确的日志记录。因为一个选项卡上可能有多个模块。然而,我们可以想象,如果页面被查看,那么页面上的所有模块都会被查看。我认为下面的查询将按模块为您提供计数

    SELECT  R.PortalID,
        TM.ModuleID,
        R.RoleName,
        COUNT(1) TotalViews
FROM    Roles R WITH ( NOLOCK )
        INNER JOIN dbo.UserRoles UR WITH ( NOLOCK ) ON R.RoleID = UR.RoleID
        INNER JOIN dbo.SiteLog sl WITH ( NOLOCK ) ON sl.UserId = ur.UserID
        INNER JOIN dbo.TabModules tm WITH ( NOLOCK ) ON tm.TabID = sl.TabId
GROUP BY R.PortalID,
        TM.ModuleID,
        R.RoleName

然而,结果并没有那个么有用,因为一个用户可能属于多个角色。第二,我忽略了加入模块权限,因为大多数模块都使用继承视图权限。

谢谢,但我们没有打开站点日志。我曾经想到的另一种选择是从属于特定模块的IIS日志中读取TabID,不过谢谢您的指针。