如何在运行时指定报告pdf名称?

时间:2012-04-28 09:57:46

标签: reporting-services

我有一份名为“债务报告”的报告。它每个月运行一次,并通过订阅选项在本月的第一天生成pdf 如果我正在运行该月的报告,那么pdf的报告名称应该是“4月份的债务报告”,如果我运行它可能是明智的,那么pdf的名称应该是“5月的债务报告”。

我该怎么做?

4 个答案:

答案 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的数据类型,它将解决问题

http://social.msdn.microsoft.com/Forums/en/sqlreportingservices/thread/0f075d9b-52f5-4a92-8570-43bbdaf2b2b1

答案 3 :(得分:0)

我不得不做同样的事情(几乎)

我必须生成每周报告以存档并将其另存为 REPORT-Week01.pdf,然后是 REPORT-Week02.pdf 等。

我使用的机制是通过计划作业更改计划表中的参数列。这计算了所需的文件名并简单地替换它。然后,当计划的作业运行时,它会在创建计划时写入文件名 setup(除了在午夜 1 分钟后更改为我想要的)

我已经实现了另一组写入文件夹的报告,每个月都会更改下个月的文件夹名称(当前将所有报告写入名为 202103 的文件夹)今晚作业将运行,输出文件夹将更改为202104 并且预定的作业永远不需要更改