zoukankan      html  css  js  c++  java
  • 分析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
    



    字段名非常容易理解,就不一一作解释了。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Spring MVC 3 深入总结
    精益之识别和消除研发过程中浪费的思路和模式
    怎样区分直连串口线和交叉串口线?
    UVA 10557 XYZZY
    概率论 —— 分析计算机系统和网络的可靠性和通用性
    概率论 —— 分析计算机系统和网络的可靠性和通用性
    Sift中尺度空间、高斯金字塔、差分金字塔(DOG金字塔)、图像金字塔
    鲁迅先生的话
    鲁迅先生的话
    辛词
  • 原文地址:https://www.cnblogs.com/larryqian86/p/4695600.html
Copyright © 2011-2022 走看看