【问题标题】:Cached Shared Dataset: ExecutionTime?缓存共享数据集:ExecutionTime?
【发布时间】:2015-10-30 01:43:11
【问题描述】:

SQL Server 报告服务 (SSRS) 2008 R2

我设置了一个需要几分钟才能执行的共享数据集。它在三个报表之间共享,是这些报表的核心数据。 (参数填充的报告中还存在一些其他数据集。)

我已在数据集上启用缓存,并希望将 数据集 执行时间添加到报表的页脚。我想我可以在 SQL 中使用当前时间向数据集添加一列,但是是否有任何 SSRS 函数可以提供给我?

【问题讨论】:

    标签: reporting-services ssrs-2008


    【解决方案1】:

    我找不到纯 SSRS 方法来获取此信息,因此如我原来的帖子中所述,我在共享数据集查询中添加了一个字段/列。现在开始:

    SELECT
    GETDATE() AS DataSetExecutionTime,
    ...
    ...
    

    然后在报告的页脚我有一个

    =First(Fields!DataSetExecutionTime.Value, "DataSetName")
    

    感谢代托纳的帮助...

    jf

    【讨论】:

    • 当数据集被缓存但报告没有被缓存时,这是我发现获取数据年龄的唯一方法。
    【解决方案2】:

    您可以在页脚中添加类似这样的内容:

    ="Render Duration: " +
    IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).TotalSeconds < 1, "0 seconds",
    (
    IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).Minutes > 0, System.DateTime.Now.Subtract(Globals!ExecutionTime).Minutes & " minute(s), ", "") +
    IIf(System.DateTime.Now.Subtract(Globals!ExecutionTime).Seconds > 0, System.DateTime.Now.Subtract(Globals!ExecutionTime).Seconds & " second(s)", ""))
    )
    

    所以基本的渲染时间,我知道这不正是您要寻找的,但我知道获取数据检索时间的唯一方法是从您的报表服务器数据库中的报表执行表中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-18
      • 2010-11-02
      • 2012-10-30
      • 2016-12-15
      • 1970-01-01
      • 2011-01-04
      • 2023-03-07
      • 2016-07-12
      相关资源
      最近更新 更多