问题描述
最初,我使用Now()
函数将报告的执行日期写在标题文本框中。
=WeekdayName(WeekDay(Now())) & "," & Day(Now()) & " " & MonthName(Month(Now())) & " " & Year(Now())
但是,当我在服务器上设置每日快照时,这将返回当前日期(当我查看报告时),而不是创建快照时的日期,例如标题中为上周拍摄的今天(2020年8月18日)的报告快照。
我将其更改为使用全局执行常量:
=WeekdayName(WeekDay(Globals!ExecutionTime)) & "," & Day(Globals!ExecutionTime) & " " & MonthName(Month(Globals!ExecutionTime)) & " " & Year(Globals!ExecutionTime)
这似乎按预期工作。虽然可以解决我今后遇到的问题,但不能解决以前快照的标题中的执行日期。
我是否可以返回并更正先前快照中的那些错误日期?
编辑:
表中的数据每天都在变化,因此重新运行报表并将日期手动更改为上一个时间将不起作用,因为新运行的数据可能与前一个日期不同。
我知道我可以轻松地以Excel或Word格式下载报告,然后在本地版本的标题中更改输出文本,但是大多数人在线/通过电子邮件订阅来使用报告的PDF版本,因此我需要获取服务器上该日期的更改。
解决方法
为快照日期创建日期参数。并使用now()或全局执行日期时间设置其默认值。
在表达式中使用该参数。
自动生成报告时,它将采用指定的默认日期。
如果要更改快照日期,请通过传递带有所需日期的参数来手动执行报告。