【问题标题】:SSRS automatically creates reports from listSSRS 自动从列表中创建报告
【发布时间】:2018-06-19 22:24:12
【问题描述】:

我们有不同的派对钥匙列表(大约 20000 个) 并且每周我们都会为特定的派对密钥创建报告,这些密钥有更新。 这些派对密钥存储在定期审查列表中。

定期审核列表 = 已更新的派对密钥

例如 第 1 周 180 个派对钥匙 第二周 300 派对钥匙 第 3 周 30 方在定期审查列表中键。

所以现在我有 SSRS 报告,其中包含名为 Party key 的参数,通过手动输入 Party key 它将生成报告。

但我想自动化该过程,并希望自动生成特定方密钥的报告,这些密钥具有更新并以 PDF 格式存储在共享文件夹中。

如果本周他们在审核列表中有 40 个派对密钥,我想为这些密钥创建 40 个 SSRS 报告。


Microsoft Visual Studio 企业版 2015 版本 14.0.25420.01 更新 3 微软 .NET 框架 版本 4.7.02053

SQL Server 数据工具 14.0.61021.0 Microsoft SQL Server 数据工具

SQL Server 报告服务 13.0.1701.8 Microsoft SQL Server 报告服务设计器 版本 13.0.1701.8

【问题讨论】:

  • 查看数据驱动订阅
  • @iamdave 有什么具体的博客或网站可以参考吗?
  • 试试this one

标签: sql-server visual-studio-2015 ssrs-2012 ssrs-subscription


【解决方案1】:

如果您有权访问报告数据库,则可以轻松地将订阅参数更新为列表中的新键,并运行发送该订阅的作业。 基本上,您可以执行一些任务来获取已处理的最后一个密钥、查找所有新密钥、更新订阅、触发每个新密钥的订阅作业。

这是我的一些查询,您可以在其中找到订阅和工作名称之间的链接:

SELECT     
 s.subscriptionid,
 ISNULL(c_p.Name, c.Name) AS Report, 
 msdb.dbo.sysjobs.name AS SQLAgentName, 
 CASE WHEN c.Type = 4 THEN c.Name + ' [' + s.Description + ']' ELSE s.Description end AS Description, 
MAX(s.LastRunTime) AS LastRun, s.LastStatus, 
                      s.DeliveryExtension, c.Description AS HowOften, msdb.dbo.sysjobs.job_id, msdb.dbo.sysjobs.enabled
FROM  dbo.Catalog AS c 
 LEFT JOIN dbo.Catalog AS c_p
  ON c_p.ItemID = c.LinkSourceID AND c.Type = 4
INNER JOIN dbo.Subscriptions AS s 
  ON s.Report_OID = c.ItemID 
INNER JOIN dbo.ReportSchedule 
 ON c.ItemID = dbo.ReportSchedule.ReportID 
    AND s.SubscriptionID = dbo.ReportSchedule.SubscriptionID 
INNER JOIN msdb.dbo.sysjobs 
ON CAST(dbo.ReportSchedule.ScheduleID AS varchar(100)) 
   = CAST(msdb.dbo.sysjobs.name AS varchar(100))
where msdb.dbo.sysjobs.enabled = 1
GROUP BY s.subscriptionid, c_p.Name, c.type, c.Name, msdb.dbo.sysjobs.name, s.Description, s.LastStatus, s.DeliveryExtension, c.Description, msdb.dbo.sysjobs.job_id, msdb.dbo.sysjobs.enabled

修改dbo.Subscription参数并调用 exec msdb.dbo.sp_start_job @job_name = @JobName; 完成你的任务。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多