SSRS 2008报告快照时间戳

时间:2013-04-22 15:10:37

标签: sql reporting-services reporting

在SSRS 2005中,我的报告设置为每天下午5点拍摄快照历史记录,它将使用Now()表达式来捕获日期和时间。这将捕获下午5:00的日期和时间并保留报告中的时间戳。

我已升级到SQL 2008(非R2),旧报告仍保留下午5:00的快照时间戳,但每次查看shistory的快照时,自更新以来所有新创建的报告都会运行表达式。它为您提供了运行时间,因此如果我查看2013年4月1日下午5:00捕获的报告的时间戳,它将显示2013年4月22日上午10:43。

当它是SSRS 2005时,如果我查看2013年4月1日下午5:00捕获的报告的时间戳,它将在下午5:00显示4/1/2013。

2 个答案:

答案 0 :(得分:1)

面对同样的问题,我最终在数据集中添加了一个datetime列,并在SQL查询中将其设置为GetDate()。然后我在报告中使用了该字段。不是最优雅的解决方案,但它确实有效。

答案 1 :(得分:1)

为了解决SSRS报告在运行“报告历史快照”时捕获正确的DateTime的问题,您应该使用 ExecutionTime全局字段,而不是 Now() Today()类型的功能。

-> = "Run Date: " + =Today()…更改为…"Run Date: " + FormatDateTime(Globals!ExecutionTime, DateFormat.ShortDate)

-> = "Run Time: " + TimeOfDay()…更改为…"Run Time: " + FormatDateTime(Globals!ExecutionTime, DateFormat.LongTime)

它将提供您要打印执行运行时所需的结果,而不是当前时间。