5 Replies Latest reply: May 15, 2014 10:11 AM by Olly Bond RSS

    Datawatch Report

    bet2lay _

      Is there a way to get a report from Datawatch that lists all users and their report access?

        • Datawatch Report
          Olly Bond

          Hello bet2lay,

           

          Are you using Datawatch|ES or Monarch|BI Server? In that case, as administrator, there is an interface where you can view access logs. I've not looked into this for a while but I'm happy to check this out for you tomorrow if that's what you're looking for? If you're using Monarch on a concurrent user licence, I'm afraid I can't help - but that's something that perhaps Datawatch support could advise on.

           

          Best wishes,

           

          Olly

          • Datawatch Report
            bet2lay _

            I'm using DatawatchES

              • Datawatch Report
                Olly Bond

                Hello bet2lay,

                 

                All this info will be stored somewhere in the SQL tables - I'll have a look tomorrow afternoon and let you know what I find. I can't send you screenshots via these forums, but if you drop me an email I'll happily send some through.

                 

                Best wishes,

                 

                Olly

                  • Datawatch Report
                    mdyoung _

                    Hi, bet2lay.

                     

                    Here's a SQL view that I built some time back that I use to list what reports are assigned to users and groups. You may have to change the schema on each table from dbo[/B] to whatever Datawatch used when setting up your environment. This query works on Datawatch|ES v4.1 through the latest Monarch|BI v5.1 and is compatible with MS SQL Server versions 2000 and up.

                     

                    CREATE VIEW     dbo.vw_ReportUsersAndGroups[/SIZE]

                    AS[/SIZE]

                            SELECT      trst.[TrusteeID][/SIZE]

                            ,           trst.[GroupID][/SIZE]

                            ,           trst.[GroupName][/SIZE]

                            ,           trst.[UserID][/SIZE]

                            ,           trst.[UserName][/SIZE]

                            ,           trst.[UserLogin][/SIZE]

                            ,           typ.[ObjectTypeId] AS [/SIZE]

                            ,           typ.[Name] AS [/SIZE]

                            ,           typ.[Description] AS [/SIZE]

                            FROM        (/SIZE

                                        -- Pull a list of groups and users. A GroupID of 0 signifies the trustee is a user.[/SIZE]

                                        -- If a group is present, a row will exists for each user in that group.[/SIZE]

                                        SELECT      COALESCE(grp.[GroupID], usr.[UserID], 0) AS [/SIZE]

                                        ,           COALESCE(grp.[GroupID], 0) AS [/SIZE]

                                        ,           COALESCE(grp.[Name], '') AS [/SIZE]

                                        ,           usr.[UserID][/SIZE]

                                        ,           usr.[FullName] AS [/SIZE]

                                        ,           usr.[Name] AS [/SIZE]

                                        FROM        dbo.SecurityRelations AS rel /SIZE

                                                    JOIN dbo.Groups AS grp /SIZE

                                                        ON rel.[ParentTrusteeId] = grp.[GroupId][/SIZE]

                                                    RIGHT JOIN dbo.[Users] AS usr /SIZE

                                                        ON rel.[ChildTrusteeId] = usr.[UserId][/SIZE]

                                        ) AS trst -- Trustees[/SIZE]

                     

                                        -- Get reports assigned to each group and user.[/SIZE]

                                        JOIN    (   dbo.Trustees_SecuredObjects AS obj[/SIZE]

                                                    JOIN    dbo.ObjectTypes AS typ[/SIZE]

                                                        ON  obj.[ObjectId] = typ.[ObjectTypeId][/SIZE]

                                                )[/SIZE]

                                            ON  trst.[TrusteeID] = obj.[TrusteeId][/SIZE]

                     

                    /code

                     

                     

                    Here are some examples you can use with this view.

                     

                     

                    Example 1: List reports assigned to users.[/B]

                    SELECT      DISTINCT

                               

                    ,          

                    ,          

                    ,          

                    FROM        dbo.vw_ReportUsersAndGroups

                    ORDER BY   

                    ,          

                     

                    /code

                     

                     

                    Example 2: List reports assigned to groups.[/B]

                    SELECT      DISTINCT

                               

                    ,          

                    ,          

                    FROM        dbo.vw_ReportUsersAndGroups

                    WHERE       > 0

                    ORDER BY   

                    ,          

                     

                    /code

                     

                     

                    Example 3: List group users.[/B]

                    SELECT      DISTINCT

                               

                    ,          

                    ,          

                    FROM        dbo.vw_ReportUsersAndGroups

                    WHERE       > 0

                    ORDER BY   

                    ,          

                    /code

                     

                     

                     

                     

                    Hope this helps.

                     

                    Thanks,

                     

                    Micheal

                      • Datawatch Report
                        Olly Bond

                        Hello bet2lay,

                         

                        @ Michael - thank you for the SQL examples!

                         

                        Michael's queries will show you who is allowed to see what now but if you (or audit) want to also check whether someone had different permissions before and viewed something, there is a transaction report.

                         

                        These are accessible in the admin interface under System Reports > Transaction > Document Actions and System Reports > Transaction > Report Actions. Depending on how you configure the data, you may find the Document report is very large but you can increase the limit for this in System Preferences.

                         

                        HTH

                         

                        Olly