繁体   English   中英

仅当报表中有数据时才订阅 SSRS

[英]SSRS subscription only when data in report

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

如果您使用的是企业版,请使用数据驱动的报告。 如果没有,您需要先查看是否有任何行从 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

其他任何偶然发现此问题的人,您都可以尝试这个小技巧。 它会抛出一个错误,这将阻止发送报告。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM