Monday, November 24, 2014

Reporting Metrics for SSRS

Here is a practical query that can be easily modified to provide SSRS Reporting Metrics and help find unused or misconfigured objects;  Modify the granularity by simply uncommenting the UserName lines of code below. 


USE REPORTSERVER;

SELECT
COUNT(RE.REPORTID) AS EXECUTION_COUNT
,CAT.NAME
,CAT.PATH
,SUM(TIMEDATARETRIEVAL) / COUNT(NAME) AS AVG_MS_DATA_RETRIEVAL
,SUM(TIMEPROCESSING) / COUNT(NAME) AS AVG_MS_PROCESSING
,SUM(TIMERENDERING) / COUNT(NAME) AS AVG_MS_RENDERING
,SUM(BYTECOUNT) / COUNT(NAME) AS AVG_BYTE_COUNT
,SUM([ROWCOUNT]) / COUNT(NAME) AS AVG_ROW_COUNT
,CAST(MIN(TIMESTART) AS DATE) AS FIRST_RUN
,CAST(MAX(TIMESTART) AS DATE) AS LAST_RUN
--,RE.USERNAME
FROM CATALOG CAT
LEFT JOIN (
SELECT
EL.REPORTID
,EL.TIMESTART
,EL.TIMEDATARETRIEVAL
,EL.TIMEPROCESSING
,EL.TIMERENDERING
,EL.BYTECOUNT
,EL.[ROWCOUNT]
--,EL.USERNAME
FROM EXECUTIONLOG EL) AS RE
ON CAT.ITEMID = RE.REPORTID
WHERE CAT.TYPE = 2
GROUP BY RE.REPORTID
,CAT.NAME
,CAT.PATH
--,RE.USERNAME
ORDER BY
NAME
,PATH;

No comments:

Post a Comment