Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Email 如何在SSRS订阅中包含报告参数';你的主题是什么?_Email_Reporting Services_Parameters_Report_Subscription - Fatal编程技术网

Email 如何在SSRS订阅中包含报告参数';你的主题是什么?

Email 如何在SSRS订阅中包含报告参数';你的主题是什么?,email,reporting-services,parameters,report,subscription,Email,Reporting Services,Parameters,Report,Subscription,我有一个报告,显示指定日期的数据。该报告每天运行,并通过电子邮件向收件人发送一份副本。电子邮件的默认主题是“@ReportName在@ExecutionTime执行。”我不想包括执行日期,而是想包括报告数据的日期,该日期可以在名为@date的参数中找到 如何在订阅电子邮件的主题行中包含报表参数的值?我建议查看数据驱动订阅。基本上,它们允许您编写查询来设置参数值,并定义可用于主题行、消息正文等的其他列。以下是一个有用的资源: ,其中包括使用数据驱动订阅时要记住的一些附加信息 另外,我应该指出,

我有一个报告,显示指定日期的数据。该报告每天运行,并通过电子邮件向收件人发送一份副本。电子邮件的默认主题是“@ReportName在@ExecutionTime执行。”我不想包括执行日期,而是想包括报告数据的日期,该日期可以在名为@date的参数中找到


如何在订阅电子邮件的主题行中包含报表参数的值?

我建议查看数据驱动订阅。基本上,它们允许您编写查询来设置参数值,并定义可用于主题行、消息正文等的其他列。以下是一个有用的资源:

  • ,其中包括使用数据驱动订阅时要记住的一些附加信息

另外,我应该指出,数据驱动订阅仅在SQL Server的某些版本(评估版、开发版、企业版)上可用。

在电子邮件订阅的主题行中包含报表参数的值似乎不可能使用SSR。数据驱动订阅允许您在运行时动态构建主题行,但不允许您查询并将参数插入主题行。据我所知,这是不可能的。

不使用订阅应该是可能的,例如从SSI到 *呈现SSRS报告并保存为html文件, *创建电子邮件并将报告中的文件放入正文或作为附件, *并设置电子邮件主题。这再次带来了从呈现的报告中读取值或参数的挑战,目前我还没有答案。但在这里,您有包括.net在内的所有可用方法,因此应该是可能的


Mike

在ReportServer数据库的dbo.Subscriptions表的Parameters字段中可以找到参数值。如果使用参数字段中的值更新ExtensionSettings字段的subject部分,则无需购买企业许可证即可实现此目的。请记住ExtensionSettings是ntext,因此您需要强制转换到NVARCHAR(MAX)来执行REPLACE()语句。

谢谢您的建议。我已经阅读了大量关于数据驱动订阅的文档,虽然它们允许您在运行时构建主题行,但似乎不允许您在电子邮件中使用报告参数。谢谢你的帮助。我给了你一个时间的投票。你确实不能从报告中提取内部参数,但你可以将默认值的逻辑放在DDS中,并在那里设置参数和主题。不确定@date参数是如何设置的(因此在本例中,这可能是一个选项,也可能不是),这就是我最终编写它的原因——将DDS中默认参数的逻辑放在主题行中使用。逻辑并不复杂,但我担心,在未来,我们可能会改变逻辑,而没有意识到必须在两个地方改变它。在任何情况下,让更有SSRS经验的人认为这是解决此问题的常用方法,这会有所帮助。感谢您的帮助。@Michaelve为了解决您对默认日期(或任何参数默认值)逻辑在将来更改的担忧,您可以创建一个数据库对象,该对象将为您的报告返回默认值,然后在SSRS报告和数据驱动订阅中使用该数据库对象来获取报告的默认日期。这样,如果它在一个地方更新,它将自动更新您的报告和订阅。我找到了这个答案,但第一个链接已失效。建议直接添加内容或考虑删除,因为它不再是完整的。