0

各ポータルについて、特定のモジュールが表示された回数、つまり役割に基づくモジュールの表示回数を確認したいと思います。

SQL クエリを使用してこれを生成できますか。

よろしく、

4

1 に答える 1

2

最初に使用状況を確認するには、サイトにログオンする必要があります。次に、モジュールごとの正確なロギングはありません。1 つのタブに複数のモジュールがある場合があるためです。ただし、ページが表示されている場合は想像できます-そのページのすべてのモジュールが表示されます。次のクエリは、モジュールごとにカウントすると思います

    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

ただし、1 人のユーザーが複数のロールに属している可能性があるため、結果はそれほど有用ではありません。次に、ほとんどのモジュールがビュー権限の継承を使用するため、ModulePermissions との結合を無視しました。

于 2013-05-14T11:14:56.827 に答える