【问题标题】:SSRS Change Execution Date of Previous Snapshot ReportSSRS 更改先前快照报告的执行日期
【发布时间】:2020-08-18 16:45:03
【问题描述】:

最初,我使用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 版本,所以我需要获取服务器上更改的日期。

【问题讨论】:

    标签: sql sql-server reporting-services snapshot execution-time


    【解决方案1】:

    为快照日期创建一个日期参数。并使用 now() 或全局执行日期时间设置它的默认值。

    在表达式中使用该参数。

    当报告自动生成时,它将采用给定的默认日期。

    如果您想更改快照日期,请手动执行报告,方法是传递您想要的任何日期的参数。

    【讨论】:

    • 查看编辑,此解决方案将不起作用,因为数据每天都在变化。感谢您提供答案!
    • 好的。好概念。我会检查。如果有可能,请告诉您。
    猜你喜欢
    • 1970-01-01
    • 2017-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多