2010-08-27 60 views
2

SQL Server Reporting Services(SSRS)2008 R2缓存共享数据集:执行时间?

我已经设置了需要几分钟才能执行的共享数据集。它由三份报告共享,并且是这些报告的核心数据。 (有些数据集在参数人口报告存在。)

我已经启用的数据集缓存,并想在数据集执行时间添加报告页脚。我想我可以使用SQL中的当前时间向数据集添加一列,但是有没有任何SSRS函数可以帮助我?

回答

1

我无法找到一个纯粹的SSRS方法来获取此信息,因此正如我在原始文章中提到的那样,我向共享数据集查询添加了一个字段/列。现在开头:

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

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

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

感谢您的帮助代托纳...

JF

+0

这是唯一的出路当数据集被缓存但报告不是时,我发现获取数据年龄。 – TomG 2014-06-20 07:31:24

1

您可以像这样添加一些页脚:

="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)", "")) 
) 

因此,一个基本的渲染时间,我知道那不正是你寻找,但我知道获取数据检索时间的唯一方法是从报表服务器数据库中的报表执行表。