答案 0 :(得分:0)
我会为此使用数据驱动订阅。数据驱动订阅的一个好处是,您可以对订阅进行有意义的描述,而不仅仅是" Mail发送给..."
设置数据驱动订阅时,步骤3会询问有效的SQL查询。对于sql查询中返回的每一行,都将执行该报告。在您的情况下,您的查询可以像
一样简单select 'Value1' as ParamValue
union select 'Value2'
这将为您提供两行,每行具有不同的参数值。
在第4步中,您可以设置收件人,主题行等选项。请注意,所有这些选项也可以作为查询的一部分。
您可以在步骤5设置参数值,然后选择"从数据库中获取值"在下拉列表中,选择您的参数名称。
通过这种方式设置,报告将执行两次(对于步骤3的查询中返回的每一行一次)。
我使用datadriven订阅的主要内容之一是我必须向多个收件人发送相同的报告,但每个收件人的参数不同。例如,我们向所有销售代表发送销售报告。销售代码是报告的参数,但我也可以自定义订阅的其他设置。使用包含我们的销售代表数据的表格,我使用类似这样的东西
SELECT
SalesRepCode
, SalesRepEmail
, 'Sales report for ' + SalesRepName + ' - ' + SalesRepCode + ', as of ' + GETDATE() AS SubjectLine
FROM SalesRepTable
这将返回大约70行,每个销售代表一行。对于每一行,将使用SalesRepCode作为报表参数,SalesRepEmail作为收件人,将SubjectLine作为主题行生成报表。一个订阅,同一报告的70个版本。