2012-09-07 55 views
5

我們正在將我們的報告從Crystal Reports遷移到SSRS。在Crystal Reports中,我們使用變量動態生成我們的文件名,因此當報告通過電子郵件發送出去時,文件具有報告名稱和執行日期。 (例如MonthlyReport09-07-2012.xls)。電子郵件訂閱的SSRS動態文件名

這是可能的SSRS?在訂閱報表時,我沒有看到在文件名中使用變量的直接方法。當向相同的人發送具有相同文件名的多個報告時,這可能會很麻煩,因爲難以辨別哪個報告是哪個報告。

任何幫助,非常感謝。謝謝你這麼。

+3

這可以使用數據驅動的訂閱(僅限企業級SKU - 顯然不包括Dev和Eval) – user1578107

回答

4

在SSRS中沒有這樣的功能,但有一個解決這個問題的方法。你有兩個選擇
選項1:
而不是直接發送電子郵件直接首先將文件轉儲到文件共享位置,可以是\ machine-name \ ExportReports \ ReportName \然後創建一個Windows作業,將文件重命名爲您的格式希望並在下一步中通過電子郵件發送。

選項2:
請參閱此blog您想從「以編程方式生成PDF輸出文件」部分開始,現在您可以在程序集中使用該選項,然後有一些調度機制來提取計劃。然後調用生成報告並通過電子郵件發送的DLL。

2

您不能在Reporting Services中的標準訂閱中指定報告文件名。

如果您有企業版(或SQL 2012商業智能版),則可以使用數據驅動的訂閱功能,該功能允許您根據從表中檢索的數據指定報告文件名(以及其他屬性)。

如果您有標準版,那麼您的選項是Bhupendra建議的選項之一,或者您可以使用Reporting Services附帶的「rs.exe」實用程序查看報表生成腳本,並使用數據庫郵件和SQL Server代理處理電子郵件和計劃。

0

這個職位看起來很老,但更好的後期則永遠......

有市場,它可以運行SSRS一些工具報告:CRDR-TagRemiWare

這些桌面工具,但我想你不想取代SSRS,只是爲了擴展它。

我不確定CRD和RemiWare,但R-Tag支持數據驅動報告和動態名稱。它也可以與標準許可證一起使用。

1

使用@timestamp在文件的名稱,它會在運行時翻譯。

+0

文件名中的@timestamp只是創建文件共享訂閱時的一個選項,而不是電子郵件訂閱。 –

+0

@Chirs,我可以格式化時間戳以生成文件名稱lime 07292015_MyFileName?也就是{mmddyy_MyFileName}? – sangam

0

我能夠自動化電子郵件,並通過循環賬戶,發票和電子郵件來更改文件名,然後設置參數並重命名目錄中的報告名稱和路徑名稱,以便在執行後結束時執行我等了2秒鐘,然後到下一個循環。我最終將路徑和名稱設置爲原始名稱。表現良好。