我有一个表我想拆分并通过电子邮件发送给该部门的相应工作人员,我有两个表,表1包含所有针对部门的交易数据并且是实时的,表2是静态的,基本上列出了工作人员负责每个部门的成员。
我需要按部门拆分表1然后从table2查找相应职员的电子邮件并发送拆分表。
表1:
| Customer | ? | Department
| Customer | ? | Department1
| Customer | ? | Department2
表2:
| Department | Staff | Email
| Department1 | Staff1 | Email
| Department2 | Staff2 | Email
我想知道,是否可以创建存储过程来执行此操作,或者我是否必须为每个工作人员在SSRS中创建订阅?
谢谢,
尼尔
答案 0 :(得分:1)
我完全建议制作简单的SSRS报告并通过数据驱动订阅进行分发。以下查询将帮助您开始使用数据摘录,您可以按照指南here了解如何设置SSRS数据驱动订阅。
创建它们非常简单,只需要一个订阅就可以向每个部门发送电子邮件,并且它们很容易维护,即使是其他人也不知道它的作用。
declare @t1 table(Cust nvarchar(100)
,Cols nvarchar(100)
,Dept nvarchar(100)
)
declare @t2 table(Dept nvarchar(100)
,Staff nvarchar(100)
,Email nvarchar(100)
)
insert into @t1 Values
('Customer','?','Department1')
,('Customer','?','Department2')
,('Customer','?','Department3')
insert into @t2 Values
('Department1','Staff1','Email1')
,('Department2','Staff2','Email2')
,('Department3','Staff3','Email3')
-- Use this query in your Data Driven Subscription to generate the list of Departments and their respective Emails:
select distinct t1.Dept
,t2.Email
from @t1 t1
left join @t2 t2
on(t1.Dept = t2.Dept)
-- Then use this query in your report to list out the contents of Table 1, matching the @SSRSDeptParameter value in the Data Driven Subscription options.
select t1.Cust
,t1.Cols
,t1.Dept
,t2.Email
from @t1 t1
left join @t2 t2
on(t1.Dept = t2.Dept)
where @t1.Dept = @SSRSDeptParameter