我显示了一个带有分配给字段的项目列表,它们是电子邮件地址。现在我已经设置了一个订阅,其中包含分配给电子邮件地址的不同列表,并将整个项目列表发送给所有用户。我只想将分配给特定用户的项目发送给该用户;而不是必须将所有项目发送给所有用户。
这可以在 SSRS 中完成吗?我必须动态设置 To 地址,并过滤掉结果数据集。
最佳答案
听起来您需要设置数据驱动订阅,SSRS 2012 企业版提供该订阅。
使用 User 参数创建报告,该报告将创建附加到电子邮件地址的项目列表。
然后,当您创建数据驱动订阅时,您将有机会创建另一个 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
关于reporting-services - 动态设置 SSRS 报告中的地址订阅,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30318484/