【问题标题】:SSRS subscription only when data in report仅当报表中有数据时订阅 SSRS
【发布时间】:2018-06-14 08:17:52
【问题描述】:

我设置了一个使用存储过程创建数据集的报表。我每天使用电子邮件订阅将此报告发送给 4 位用户。报告通常没有任何数据。如何让订阅仅在报告有数据时发送电子邮件?

【问题讨论】:

    标签: sql-server reporting-services ssrs-2012


    【解决方案1】:

    如果您使用的是企业版,请使用以数据为依据的报告。如果没有,您需要先查看是否从 SP 返回了任何行,如果有,则仅执行订阅。这是伪 SQL,在没有大量上下文的情况下,但是,类似于:

    IF EXISTS(SELECT 1 FROM YouTable JOIN YourOtherTable WHERE ...) BEGIN
        EXEC ReportServer.dbo.AddEvent @EventType='TimedSubscription', @EventData='a6c151ca-ff47-46c0-b807-ad1ac8116769';
    END
    

    【讨论】:

      【解决方案2】:

      任何偶然发现这个的人,你可以试试这个小技巧。它会抛出一个错误,从而阻止发送报告。

      IF @@ROWCOUNT = 0 RAISERROR('No Results', 16, 1);
      

      【讨论】:

        猜你喜欢
        • 2015-01-15
        • 1970-01-01
        • 2013-12-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-06-26
        相关资源
        最近更新 更多