我想跟踪驻留在本地服务器上的 SSRS 和 Power BI 报告的使用情况。应用服务提供这些指标,但本地版本位于 SQL Server 上,因此您必须使用 ExecutionLog3 表。
该表更难查询 PBIX 报告,因为它并不直接明确真正的“用法”是什么
可能有更好的方法来编写它,但它可以让您非常接近跟踪所有报告的本地使用情况 - SSRS 和 Power BI
declare @results TABLE
(
Report NVARCHAR(50),
ExecutionTime DATETIME,
UserName NVARCHAR(25),
ExecutionId NVARCHAR(50)
)
INSERT INTO @results
SELECT
Name,
TimeStart,
UserName,
ExecutionId
FROM (SELECT TimeStart,
Catalog.Name,
UserName,
ExecutionId
FROM Catalog
INNER JOIN
ExecutionLog3
ON Catalog.Path = ExecutionLog3.ItemPath
WHERE Type IN (2) --ssrs
) AS RE
UNION ALL
SELECT
Name,
TimeStart,
UserName,
ExecutionId
FROM (SELECT TimeStart,
Catalog.Type,
Catalog.Name,
UserName,
ExecutionId
FROM Catalog
INNER JOIN
ExecutionLog3
ON Catalog.Path = ExecutionLog3.ItemPath
WHERE Type IN (13) --power BI
AND ItemAction = 'ConceptualSchema'
AND Format = 'PBIX'
) AS RE
Order By TimeStart DESC
;WITH cte AS
(
SELECT *,
ROW_NUMBER() OVER (PARTITION BY ExecutionId ORDER BY ExecutionTime DESC) AS rn
FROM @results
)
SELECT
Report,
ExecutionTime,
UserName
FROM cte
WHERE rn = 1
ORDER BY ExecutionTime DESC
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句