0

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

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

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

4

2 回答 2

1

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

于 2013-04-22T18:08:05.280 回答
1

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

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

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

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

于 2018-07-02T19:36:52.900 回答