【发布时间】:2015-05-19 06:43:42
【问题描述】:
我显示了一个项目列表,其中包含一个“分配给”字段,即电子邮件地址。现在,我已经设置了一个订阅,其中包含分配给电子邮件地址的不同列表,并将整个项目列表发送给所有用户。我只想将分配给特定用户的项目发送给该用户;而不是必须将所有项目发送给所有用户。 这可以在SSRS中完成吗?我必须动态设置 To 地址,并过滤掉结果数据集。
【问题讨论】:
标签: reporting-services ssrs-2012
我显示了一个项目列表,其中包含一个“分配给”字段,即电子邮件地址。现在,我已经设置了一个订阅,其中包含分配给电子邮件地址的不同列表,并将整个项目列表发送给所有用户。我只想将分配给特定用户的项目发送给该用户;而不是必须将所有项目发送给所有用户。 这可以在SSRS中完成吗?我必须动态设置 To 地址,并过滤掉结果数据集。
【问题讨论】:
标签: reporting-services ssrs-2012
听起来您需要设置一个数据驱动订阅,该订阅可用于 SSRS 2012 企业版。
使用用户参数创建报告,该参数将创建附加到电子邮件地址的项目列表。
当您创建数据驱动订阅时,您有机会创建另一个可用于收件人的 SQL 语句并获取值作为参数传递给您的报告。
如果您的 proc 是这样创建的(您的可能会更复杂一些...)
CREATE PROC GetAssigned
@EmailAddress nvarchar(255)
As
IF @EmailAddress is Not null
SELECT EmailAddress,Item1,Item2
FROM MyTable
WHERE EmailAddress = @EmailAddress
ELSE
SELECT DISTINCT EmailAddress FROM myTable
您可以在报告中运行此过程和作为数据驱动订阅以获取要发送的电子邮件地址列表并作为报告的参数。 (尽管您可以将 SELECT DISTINCT 查询添加到下面的框中,而不是将其放在 proc 中?)
设置订阅(企业版,对吗?)
不过,您可以在上面的框中输入脚本。
SELECT DISTINCT EmailAddress from MyTable
【讨论】: