我有一份名为“债务报告”的报告。它每个月运行一次,并通过订阅选项在本月的第一天生成pdf 如果我正在运行该月的报告,那么pdf的报告名称应该是“4月份的债务报告”,如果我运行它可能是明智的,那么pdf的名称应该是“5月的债务报告”。
我该怎么做?
答案 0 :(得分:1)
假设您是scheduling the report to a file share,您可以将文件共享的名称设置为Debt Report for @timestamp
- 这会将文件命名为Debt Report for
YYYY_MM_DD_HRMINSS
如果您只想在文件名中显示月份名称(而不是整个时间戳),则需要使用Data Driven Subscription。
答案 1 :(得分:0)
另一个选项,虽然技术性更强一点,但是使用rs.exe实用程序来生成报告。这包括:
创建一个生成报告的脚本文件(您可以根据自己的喜好设置文件名)
使用脚本文件作为参数创建一个调用rs.exe的批处理文件
按计划运行批处理文件,例如使用Windows调度程序或SQL Server代理
此处有一个示例如何执行此操作(创建Excel文件但原理相同)http://skamie.wordpress.com/2010/08/11/using-rs-exe-to-render-ssrs-reports/
答案 2 :(得分:0)
此问题的解决方案是“数据驱动订阅” http://msdn.microsoft.com/en-us/library/ms169972(v=sql.105).aspx http://www.kodyaz.com/reporting-services/create-data-driven-subscription-in-sql-server.aspx
以下链接帮助了我很多,但链接中给出的查询会导致故障转移getdate的数据类型,它将解决问题
答案 3 :(得分:0)
我不得不做同样的事情(几乎)
我必须生成每周报告以存档并将其另存为 REPORT-Week01.pdf,然后是 REPORT-Week02.pdf 等。
我使用的机制是通过计划作业更改计划表中的参数列。这计算了所需的文件名并简单地替换它。然后,当计划的作业运行时,它会在创建计划时写入文件名 setup(除了在午夜 1 分钟后更改为我想要的)
我已经实现了另一组写入文件夹的报告,每个月都会更改下个月的文件夹名称(当前将所有报告写入名为 202103 的文件夹)今晚作业将运行,输出文件夹将更改为202104 并且预定的作业永远不需要更改