分析Reporting Service的报表执行记录

有的时候我们需要追溯报表的执行历史,比如用户A在什么时候运行了某张报表,报表运行的时长、次数、以及当时输入的参数。

Reporting Service的系统表其实保留了每一次报表运行的历史记录,我们可以很方便地进行分析。

--查看运行记录
SELECT el.*
FROM dbo. Catalog c
LEFT JOIN dbo.Catalog sc ON ISNULL(c .LinkSourceID, c.ItemId )=sc. ItemId
INNER JOIN dbo.SecData sd ON sd. PolicyId = c .PolicyId
INNER JOIN dbo.ExecutionLog el ON el. ReportId = c .ItemId
WHERE c. Name='Order Book and Backlog Report'--此处设置报表名称
and el.TimeStart>'2014-01-01'--此处设置时间区间
字段名非常容易理解,就不一一作解释了。可以根据实际业务情况,做出相应的分析仪表盘。


Catalog表是所有用到的对象,包括原报告文件、文件夹、链接报告等等。稍作修改便可以导出报表的清单。


--报表清单
SELECT
CL.ItemID ,CL. Name,CL .Path, CL.Description ,CL. CreationDate,CL .ModifiedDate, CL.PolicyID ,CL. ExecutionFlag,CL .ExecutionTime, CL.ParentID ,CL. Hidden
,PCL. Path AS Parent,CU .UserName AS CreatedBy,MU .UserName AS ModifiedBy
,CASE CL .Type WHEN 1 THEN 'Folder'  WHEN 2 THEN 'Report'  WHEN 3 THEN 'Crystal Reports'  WHEN 4 THEN 'Link Report'  WHEN 5 THEN 'DataSource' END AS Type
FROM CATALOG CL
LEFT JOIN CATALOG PCL ON CL. ParentID=PCL .ItemID
LEFT JOIN USERS CU ON CL .CreatedByID= CU.UserID
inner JOIN USERS MU ON CL .ModifiedByID= MU.UserID
WHERE 1= 1
AND CL. ParentID=@p_ItemID
ORDER BY CL.Type



字段名非常容易理解,就不一一作解释了。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值