Tsql 表中的SSRS订阅日期
我有一份报告,必须在每月的第2个工作日发送,因此如果1号有假期,则在3号发送 我正在考虑用每月的第二个工作日填充一个表,并从该表运行报告 如何让报表在下表中的日期值上运行,而不是每天创建一个订阅Tsql 表中的SSRS订阅日期,tsql,reporting-services,ssrs-2008-r2,subscription,Tsql,Reporting Services,Ssrs 2008 R2,Subscription,我有一份报告,必须在每月的第2个工作日发送,因此如果1号有假期,则在3号发送 我正在考虑用每月的第二个工作日填充一个表,并从该表运行报告 如何让报表在下表中的日期值上运行,而不是每天创建一个订阅 Run Date _________ 9/2/2015 10/2/2015 11/3/2015 12/2/2015 1/4/2016 根据你所描述的,这听起来将是一个方向。这允许您控制何时向谁发送报告,以及通过在数据库中填充表来指定所需的任何参数值。但是,此Reportin
Run Date
_________
9/2/2015
10/2/2015
11/3/2015
12/2/2015
1/4/2016
根据你所描述的,这听起来将是一个方向。这允许您控制何时向谁发送报告,以及通过在数据库中填充表来指定所需的任何参数值。但是,此Reporting Services功能仅在SQL Server的企业版中可用
如果你没有企业版,你可能需要考虑一个定制的应用程序或者使用实用程序做一些VB脚本。
作业\u名称相同的订阅
如果存在
条件,使其仅在当月第一个工作日运行这是我尝试的第一件事,但是没有像我所希望的那样创建自定义订阅的选项。谢谢。在发布问题时,最好列出您已经尝试过的内容,这样可以为大家节省时间:)
SELECT cat.Name AS ReportName,
rs.ScheduleID AS JOB_NAME,
sub.[Description],
sub.LastStatus,
sub.LastRunTime
FROM ReportServer.dbo.[Catalog] cat
JOIN ReportServer.dbo.Subscriptions sub
ON cat.ItemID = sub.Report_OID
JOIN ReportServer.dbo.ReportSchedule rs
ON cat.ItemID = rs.ReportID
AND rs.SubscriptionID = sub.SubscriptionID
WHERE cat.name = 'YourReportName'
IF EXISTS ( SELECT *
FROM dbo.SecondBusDayTbl
WHERE BusDay = DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0) )
BEGIN
EXEC ReportServer.dbo.AddEvent @EventType = 'TimedSubscription'....
END