我显示了一个带有分配给字段的项目列表,它们是电子邮件地址。现在我已经设置了一个订阅,其中包含分配给电子邮件地址的不同列表,并将整个项目列表发送给所有用户。我只想将分配给特定用户的项目发送给该用户;而不是必须将所有项目发送给所有用户。
这可以在 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/

    10-16 21:44