/*dstMainQuery*/
SELECT C.[ItemID]
,C.[Name]
,C.[Path]
,C.[Type]
,TypeName = case C.[Type]
when 1 then 'Folder'
when 2 then 'Report'
when 3 then 'Resources'
when 4 then 'Linked Report'
when 5 then 'Data Source'
when 6 then 'Report Model'
when 7 then 'Report Part (SQL 2008 R2, unverified)'
when 8 then 'Shared Dataset (SQL 2008 R2)'
end
,ExecutionCount = COUNT(C.Name)
,SubscriptionCount = COUNT(distinct SUB.[Description])
,LastRan = MAX(el.TimeStart)
--Total Time
,TimeDataRetrievalTotal = SUM(el.TimeDataRetrieval)
,TimeProcessingTotal = SUM(el.TimeProcessing)
,TimeRenderingTotal = SUM(el.TimeRendering)
,TimeTotal = SUM(el.TimeDataRetrieval)+SUM(el.TimeProcessing)+SUM(el.TimeRendering)
--Average Time
,TimeDataRetrievalAverage = AVG(el.TimeDataRetrieval)
,TimeProcessingAverage = AVG(el.TimeProcessing)
,TimeRenderingAverage = AVG(el.TimeRendering)
,TimeTotalAverage = AVG(el.TimeDataRetrieval)+AVG(el.TimeProcessing)+AVG(el.TimeRendering)
--Max Time
,TimeDataRetrievalMax = MAX(el.TimeDataRetrieval)
,TimeProcessingMax = MAX(el.TimeProcessing)
,TimeRenderingMax = MAX(el.TimeRendering)
,TimeTotalMax = MAX(el.TimeDataRetrieval)+MAX(el.TimeProcessing)+MAX(el.TimeRendering)
--Min Time
,TimeDataRetrievalMin = MIN(el.TimeDataRetrieval)
,TimeProcessingMin = MIN(el.TimeProcessing)
,TimeRenderingMin = MIN(el.TimeRendering)
,TimeTotalMin = MIN(el.TimeDataRetrieval)+MIN(el.TimeProcessing)+MIN(el.TimeRendering)
,ByteCountSum = SUM(el.ByteCount)
,RowCountSum = SUM(el.[RowCount])
,CreatedBy = U.UserName
,CreationDate = C.CreationDate
,ModifiedBy = UM.UserName
,ModifiedDate = C.ModifiedDate
FROM dbo.Catalog C
JOIN dbo.Users U
ON C.CreatedByID = U.UserID
JOIN dbo.Users UM
ON c.ModifiedByID = UM.UserID
LEFT JOIN ExecutionLog el
ON C.ItemID = el.ReportID
LEFT JOIN dbo.Subscriptions SUB
ON SUB.Report_OID = c.ItemID
WHERE C.[Type] = 2 --Reports
AND replace(C.[Path],C.[Name],'') = case when @prmPath = 'All' then replace(C.[Path],C.[Name],'') else @prmPath end
AND el.TimeStart >= @prmDate
--AND Name like @ReportName
GROUP BY
C.[ItemID]
,C.[Name]
,C.[Path]
,C.[Type]
,U.UserName
,C.CreationDate
,UM.UserName
,C.ModifiedDate
/*dstFilterReportPath*/
SELECT OrderId=1,'All' as ShortPath
UNION ALL
SELECT distinct
OrderId = 2
,ShortPath = replace(C.[Path],C.[Name],'')
FROM dbo.Catalog C
WHERE [Type] = 2
order by OrderId, ShortPath
/*dstConstants*/
SELECT @@SERVERNAME AS ServerName, DB_NAME() AS DatabaseName, @@VERSION AS Version, GETDATE() AS ExecutionTime
No comments:
Post a Comment