SSRS 2008报告快照时间戳



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

我升级到SQL 2008(不是R2),旧的报表仍然保持5:00PM的快照时间戳,但是自更新以来任何新创建的报表每次查看历史快照时都会运行表达式。它给出了它运行的时间,所以如果我查看今天在4/1/2013下午5:00捕获的报告的时间戳,它将显示4/22/2013 10:43AM。

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

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

为了解决SSRS报告在运行"报告历史快照"时捕获正确日期时间的问题,您应该使用ExecutionTime全局字段,而不是Now()Today()类型的函数。

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

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

将提供您正在寻找的打印执行运行时的结果,而不是当前时间。

最新更新