我有一个显示指定日期数据的报告。该报告每天运行,并通过电子邮件将副本发送给收件人。电子邮件的默认主题是“@ReportName在@ExecutionTime执行”。我想包括报告数据的日期,而不是包含执行日期,该日期在名为@date的参数中可用。
如何在订阅电子邮件的主题行中包含报表参数的值?
答案 0 :(得分:2)
我建议您查看数据驱动的订阅。基本上,它们允许您编写查询来设置参数值,并定义可用于主题行,消息正文等的其他列。这是一个有用的资源:
此外,我应该指出,数据驱动的订阅仅适用于某些版本的SQL Server(评估版,开发人员版,企业版)。
答案 1 :(得分:1)
使用SSRS似乎无法在电子邮件订阅的主题行中包含报表参数的值。数据驱动的订阅允许您在运行时动态构建主题行,但它不允许您查询并将参数插入主题行。据我所知,这是不可能的。
答案 2 :(得分:0)
应该可以不使用订阅,但是从SSIS到 *呈现SSRS报告并保存,例如作为html文件, *创建一封电子邮件,并将报告中的文件放入正文或作为附件, *并设置电子邮件主题。这再次承担了从呈现的报告中读出值或参数的挑战,我现在没有答案。但是在这里你有各种方法,包括.net可用,所以应该是可能的。
麦克
答案 3 :(得分:0)
参数值可在ReportServer数据库的dbo.Subscriptions表的Parameters字段中找到。如果使用“参数”字段中的值更新ExtensionSettings字段的主题部分,则可以在不购买企业许可证的情况下实现此目的。请记住,ExtensionSettings是ntext,因此您需要CAST到NVARCHAR(MAX)来执行REPLACE()语句。