我有一个 SSRS 2005 报告,其中包含用于 Oracle 数据库的数据集。我基本上只是从审核日志中提取所有数据的报告。该报告运行良好,我已安排 thi 使用 SSRS 中的新订阅方法运行并发送电子邮件。
我唯一的问题是我希望报告在当月的最后一天运行(它已经设置为执行此操作)并仅基于该月运行报告。让报告专门运行一个月是我不确定的?我虽然可以在报告中设置参数,但这些参数只能让我的用户选择日历日期?
我可以使用 DATEADD 或 DATEPART 类型的函数来完成此任务吗?
问候乙
我有一个 SSRS 2005 报告,其中包含用于 Oracle 数据库的数据集。我基本上只是从审核日志中提取所有数据的报告。该报告运行良好,我已安排 thi 使用 SSRS 中的新订阅方法运行并发送电子邮件。
我唯一的问题是我希望报告在当月的最后一天运行(它已经设置为执行此操作)并仅基于该月运行报告。让报告专门运行一个月是我不确定的?我虽然可以在报告中设置参数,但这些参数只能让我的用户选择日历日期?
我可以使用 DATEADD 或 DATEPART 类型的函数来完成此任务吗?
问候乙
最好的办法是在报告级别为日期参数设置一个动态日期默认值,并将订阅设置为使用此默认值,以便订阅运行时它会自动具有适当的日期。
可能最简单的做法是将参数设置为当前日期,如果这样可行,例如=Today()
. 因此,只要订阅运行,就会计算它。
您可以根据需要设置默认值;当月的第一天等。您应该能够轻松设置所需的任何值。
因此,对于本月的第一天,例如:
=DateSerial(Year(Today()), Month(Today()), 1).
运行临时报告的用户可以根据需要重新设置参数。
我假设报告处理正确返回的数据量,前提是发送了正确的数据参数。
2 参数@DateFrom 和@DateTo
输出当月第一天的@DateFrom 的默认值:
=DateAdd("d",-Day(Today())+1,Today())
输出当月最后一天的 @DateTo 的默认值:
=DateAdd("d",-Day(Today())+1,DateAdd("m",1,Today()))