Reporting Services – Moyennes ExecutionLog

Un peu de viande pour se créer un rapport, qui présente les moyennes en millisecondes, du temps requis pour générer un rapport SQL Server Reporting Service. La colonne Description de la table Catalog est utilisée car elle contient l’information permettant d’identifier facilement un rapport de Microsoft Dynamics CRM.

USE ReportServer
GO
-- Enlever les commentaires pour filtrer sur une plage de jours
--DECLARE
--      @FromTime DATETIME,
--      @ToTime DATETIME
--     SET @FromTime = '20091109'
--     SET @ToTime = '20091110'
SELECT
	[ExecutionLog].[ReportID],
	--[Catalog].[Description],
	AVG([ExecutionLog].[TimeDataRetrieval]) + AVG([ExecutionLog].[TimeProcessing]) + AVG([ExecutionLog].[TimeRendering]) AS 'Moyenne (ms) Totale' ,
	AVG([ExecutionLog].[TimeDataRetrieval]) AS 'Moyenne (ms) TimeDataRetrieval',
	AVG([ExecutionLog].[TimeProcessing]) AS 'Moyenne (ms) TimeProcessing',
	AVG([ExecutionLog].[TimeRendering]) AS 'Moyenne (ms) TimeRendering'
FROM
	[ExecutionLog] INNER JOIN [Catalog]
ON
	[ExecutionLog].[ReportID] = [Catalog].[ItemId]
--Enlever le commentaire pour que la plage de jours soit considérée.
--WHERE
--	[ExecutionLog].[TimeStart] BETWEEN @FromTime AND @ToTime
GROUP BY
	[ExecutionLog].[ReportID],
	[Catalog].[Description]
ORDER BY
	--[Catalog].[Description]
	'Moyenne (ms) Totale' DESC

Ici, nous groupons les résultats selon le ReportID de la table ExecutionLog. Vous pourriez choisir d’afficher la colonne Description de la table Catalog, qui à permière vue semble plus informative. Cependant, il est possible que la description du rapport n’ait pas été saisie. Afficher donc plutôt la colonne ReportID

Pour trouver à quoi correspond le ReportID, copiez le ReportID du rapport qui vous intéresse dans les résultats de la requête ci-dessus

'B1BC060E-59D7-405A-BC61-EEFC8D70EA4B'

La colonne Name de la table Catalog contient l’information qui l’identifie au CRM.

USE ReportServer
GO
SELECT [ItemID], [Name]
FROM [Catalog]
WHERE [ItemId] = 'B1BC060E-59D7-405A-BC61-EEFC8D70EA4B' -- ItemID correspond au ReportID que vous avez copiez plus tôt qui sort de la table ExecutionLog

Copier la contenue de la colonne Name

Le nom du Rapport se trouve dans la base de données de l’organisation. Donc:

USE MicrosoftCRM_MSCRM
GO
SELECT [Name],[Description], [ReportID] FROM dbo.FilteredReport
WHERE [ReportId] = '8c013e71-6da1-de11-8cfa-0050569f4944' -- Information récupérée dans la colonne Name de Catalog

Voilà. Vous avez quelques requêtes de base pour construire un rapport présentant des mesurables sur le temps d’exécution de vos rapports dans Microsoft Dynamics CRM.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s