1.Add flag to see if a report is hidden or visible

SELECT

    C.ItemID AS ReportID,

    C.Name AS ReportName,

    C.Path AS ReportPath,

    CASE

        WHEN C.Hidden = 1 THEN 'Hidden'

        ELSE 'Visible'

    END AS ReportVisibilityFlag

FROM Catalog C

WHERE C.Type = 2  -- Filter to select only reports (Type = 2)







2.Averege running time the report took in seconds incomp

SELECT

    C.Name AS ReportName,

    AVG(DATEDIFF(SECOND, EL.TimeStart, EL.TimeEnd)) AS AvgExecutionTimeInSeconds

FROM ExecutionLog EL

INNER JOIN Catalog C ON EL.ReportID = C.ItemID

WHERE EL.Status = 'rsSuccess' -- Filter for successful executions

GROUP BY C.Name


3.Add requestor column parsed out from the description column

SELECT

    EL.TimeStart,

    c.Path,

   c.Description,

    -- Extract the Requestor information from the Description column

    SUBSTRING(c.Description, CHARINDEX('Requestor:', c.Description) + LEN('Requestor:'), LEN(c.Description)) AS Requestor

FROM ExecutionLog EL

full JOIN Catalog C ON EL.ReportID = C.ItemID


4.number of times report is cancel if it is high we can look into it

SELECT

    C.Name AS ReportName,

    COUNT(*) AS CancelledReportCount

FROM ExecutionLog EL

INNER JOIN Catalog C ON EL.ReportID = C.ItemID

WHERE EL.Status = 'rsExecutionCancelled'

GROUP BY C.Name