【问题标题】:Send RS report to every single email within SQL query将 RS 报告发送到 SQL 查询中的每一封电子邮件
【发布时间】:2012-03-30 17:27:16
【问题描述】:

使用 SQL 服务 2005。 我在 Microsoft Visual Studio 2005 中有一份报告:Projects.rdl

在数据集中我有以下查询: (给我看上个月,项目逾期的地方)

SELECT [Date], [Project], [Project Owner], [Email]
FROM [Table1]
WHERE [Date] < (SELECT DATEADD(MONTH,-1,GETDATE())

现在我想向每个 [项目所有者] 发送一份 RS 报告,而不必为每个用户使用他们的特定过滤器创建报告。

也就是说,我想避免对发送给每个用户的每个报告执行以下操作:

SELECT [Date], [Project], [Project Owner], [Email]
FROM [Table1]
WHERE [Date] < (SELECT DATEADD(MONTH,-1,GETDATE())
AND [Project Owner] = 'AceAlfred'

Data-Drive-Subscription 是否提供此功能?


更新:

SELECT [Date], [Project], [Project Owner], [Email]
FROM [Table1]
WHERE [Date] < (SELECT DATEADD(MONTH,-1,GETDATE())
AND [Email] = @email

错误信息: 报告参数“email”具有取决于报告参数“email”的 DefaultValue 或 ValidValue。前向依赖项无效。 (rsInvalidReportParameterDependency)

【问题讨论】:

    标签: sql visual-studio sql-server-2005 reporting-services reportingservices-2005


    【解决方案1】:

    我认为您想要的是将项目所有者作为参数发送。

    在您的报告项目的菜单上,转到 Report &gt; ReportParameters 并添加一个名为 @projectOwner 的新参数

    那么您的查询将如下所示

    SELECT [Date], [Project], [Project Owner], [Email]
    FROM [Table1]
    WHERE [Date] < (SELECT DATEADD(MONTH,-1,GETDATE())
    AND [Project Owner] = @projectOwner
    

    【讨论】:

    • 好的,现在报告需要一个过滤器,只发送与项目所有者相关的项目。那会是:AND @projectOwner in (SELECT distinct [Project Owner]) 吗?
    • @AceAlfred 上面的查询只会返回 [Project Owner] 等于 projectOwner 参数的项目。我假设 [Project Owner] 是一个字符串。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-22
    • 1970-01-01
    • 1970-01-01
    • 2013-02-18
    相关资源
    最近更新 更多