Обзор сервера отчетов - PullRequest
0 голосов
/ 16 марта 2020

Я смотрю на стандартную установку конструктора отчетов в SQL и хотел бы провести некоторый анализ отчетов и их использования.

Я нашел представление [ReportServer]. [Dbo]. [ExecutionLog] и связал его с Моим каталогом, чтобы увидеть названия отчетов и количество выполненных операций.

I ' Я пытаюсь найти 2 вещи. Используемые отчеты (с учетом) и неиспользуемые отчеты.

Правильны ли следующие запросы? второй не возвращает строк, что выглядит очень неправильно.

 SELECT 
       COUNT([ReportID]) as [Reports Run]
       ,[UserName]
      ,C.[Name]
 FROM [ReportServer].[dbo].[ExecutionLog] E Left Join [ReportServer].[dbo].[Catalog] C on C.[ItemID] = E.[ReportID] 
   Where
   E.[TimeStart] > (SELECT dateadd(month, -3, getdate()))
   Group by  
       [UserName]
      ,[ReportID]
      ,C.[Name]

 Select *, [Name] from [ReportServer].[dbo].[Catalog] C WHERE [Name] not in (Select [Name] FROM [ReportServer].[dbo].[ExecutionLog]) 

1 Ответ

0 голосов
/ 16 марта 2020

На основании вашего комментария вы можете получить количество ссылок на каждый элемент в каталоге в executionlog за последние три месяца - и 0, если нет ссылки:

SELECT C.[ItemID],
       SUM(CASE WHEN E.[TimeStart] > DATEADD(MONTH, -3, getdate()) THEN 1 ELSE 0 END) as times_in_3_months
FROM [ReportServer].[dbo].[Catalog] C LEFT JOIN
     [ReportServer].[dbo].[ExecutionLog] E Left Join  
     ON C.[ItemID] = E.[ReportID] 
GROUP BY C.[ItemID];
...