「DebtReport」という名前のレポートがあります。毎月実行され、サブスクリプションオプションによって月の最初にPDFが生成されます。
その月のレポートを実行している場合、PDFのレポート名は「4月の債務レポート」である必要があります。同様に、5月に実行する場合、PDFの名前は「5月の債務レポート」である必要があります。
これどうやってするの?
「DebtReport」という名前のレポートがあります。毎月実行され、サブスクリプションオプションによって月の最初にPDFが生成されます。
その月のレポートを実行している場合、PDFのレポート名は「4月の債務レポート」である必要があります。同様に、5月に実行する場合、PDFの名前は「5月の債務レポート」である必要があります。
これどうやってするの?
レポートをファイル共有にスケジュールしていると仮定すると、ファイル共有の名前を次のように設定できます。これにより、ファイルにYYYY_MM_DD_HRMINSSDebt Report for @timestamp
の形式で名前が付けられます。Debt Report for
ファイル名に月の名前(タイムスタンプ全体ではなく)のみを表示する場合は、データドリブンサブスクリプションを使用する必要があります。
もう1つのオプションは、もう少し技術的ですが、rs.exeユーティリティを使用してレポートを生成することです。これには以下が含まれます。
レポートを生成するスクリプトファイルを作成します(ここでファイル名を好みに設定できます)
スクリプトファイルをパラメータとしてrs.exeを呼び出すバッチファイルを作成する
スケジュールに従ってバッチファイルを実行する(例:WindowsスケジューラまたはSQL Serverエージェント)
これを行う方法の例がここにあります(Excelファイルを作成するためですが、原則は同じです)http://skamie.wordpress.com/2010/08/11/using-rs-exe-to-render-ssrs-レポート/
この問題の解決策は、「データ駆動型サブスクリプション」 http://msdn.microsoft.com/en-us/library/ms169972(v=sql.105).aspxhttp://www.kodyaz.com/reporting-servicesです 。 /create-data-driven-subscription-in-sql-server.aspx
次のリンクは私を大いに助けましたが、リンクで与えられたクエリはgetdateのデータ型に問題を引き起こし、それは問題を解決します
私は同じことをしなければなりませんでした(ほとんど)
ファイルに週次レポートを生成し、REPORT-Week01.pdf、次にREPORT-Week02.pdfなどとして保存する必要がありました。
私が使用したメカニズムは、スケジュールされたジョブを介してスケジュールテーブルのパラメータ列を変更することでした。これにより、必要なファイル名が計算され、単に置き換えられました。次に、スケジュールされたジョブが実行されると、スケジュールが作成されたときに設定されたファイル名に書き込みます(ただし、深夜1分過ぎに希望どおりに変更された場合を除く)
それ以来、フォルダに書き込む別のレポートセットを実装しました。次の月のフォルダ名(現在、すべてのレポートを202103というフォルダに書き込んでいます)を毎月変更すると、ジョブが実行され、出力フォルダが202104に変更されます。スケジュールされたジョブを変更する必要はありません