#获取当前日期前面30天的日期
select convert(varchar(10),dateadd(dd,number,dateadd(month,-1,getdate())),120) as cr_date
from master..spt_values
where type='P' and
dateadd(dd,number,dateadd(month,-1,getdate()))<=getdate()
# 1, Total_call 最近30天每日创建工单数量 【已完成】
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) Total_call
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120);
#2, Uniclosed 最近30天状态为开着的未关单数量,已创建时间排序 【已完成】
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) Uniclosed
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30 and TICKET_STATUS IN ('Active','New','Queued') and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120);
#3, Scheduled 最近30天每天应到期工单数量且 工单状态为未关 (按照到期时间排序)【已完成】
declare @kehu VARCHAR(20)
set @kehu ='WTC';
SELECT
a.cr_date,
COUNT ( TICKET_ID ) Scheduled
from
(Select CONVERT (VARCHAR ( 10 ),
DATEADD(SECOND, (select top 1 sla_due_by from VSLA_AGREEMENT_COMPLIANCE_LIST_UX as vc where vc.item_id=vi.ROW_ID order by threshold_sort_order desc), '1970/1/1 08:00:00') ,120) as 'cr_date',
vi.TICKET_ID
from VAPP_ITEM as vi where person1_root_org_name = @kehu and TICKET_STATUS not in ('closed') and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,vi.CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30) as a
GROUP BY
a.cr_date
#4, P1_call 最近30天工单优先级最高的数量(按照创建时间排序)【已完成】
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
count(TICKET_ID) P1_call
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30 and Ticket_priority='P2'
and person1_root_org_name = @kehu
GROUP BY
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
#5 ,Over_SLA 最近30天工单状态已超时工单数量 按照创建时间排序 【已完成】
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
count(TICKET_ID) Over_SLA
from
VAPP_ITEM
where
sla_compliance_status_indicator='Breached SLA' and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30 and person1_root_org_name = @kehu
GROUP by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
#6,SLA_Met 最近30天达成率 按照创建时间排序 公式(totalcall - uniclosed - oversla)/(totalcall - uniclosed ) 【已完成】
#每日sla达成数量
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) SLA_Met
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
AND TICKET_STATUS NOT IN ('Active','New','Queued') AND sla_compliance_status_indicator NOT IN ('Breached SLA')
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120);
#sla达成率的分母
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) SLA_Met
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and TICKET_STATUS NOT IN ('Active','New','Queued')
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120);
#SLA_Met sla达成率
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
a.cr_date,
(a.xjsl/b.gdsl) SLA_Met
from
(select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) xjsl
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
AND TICKET_STATUS NOT IN ('Active','New','Queued') AND sla_compliance_status_indicator NOT IN ('Breached SLA')
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)) as a
join
(select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) gdsl
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and TICKET_STATUS NOT IN ('Active','New','Queued')
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)) as b
on a.cr_date=b.cr_date;
#7,Worst_TAT 最近30天每天工单处理花费最大时间 【已完成】
#原理 1,以创建时间排序 2,关单时间- 创建时间 3,工单状态为关闭 4,当天最大值
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
b.cr_date,
max(b.zd) Worst_TAT
from
(select CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
convert(varchar(10),(DATEADD(S,CLOSED_DATE,'1970/1/1 08:00:00') -DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),108) zd
from
VAPP_ITEM
where TICKET_STATUS='Closed' and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
) b
group by
b.cr_date;
#8,Avg_onsite_time 最近30天平均上门时间 只计算有第一次上门时间的工单 【已完成】
#单位是小时
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select t.cr_date,avg(t.avg_onsitetime) Avg_onsite_time
from
(
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
DATEDIFF(hh,DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00'),(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=vi.ROW_ID and va.ATTR_ID=553)) avg_onsitetime
from
VAPP_ITEM as vi
where
(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=vi.ROW_ID and va.ATTR_ID=553) is not null
and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
) as t
group by t.cr_date;
#9, No_onsite_time 最近30天没有上门时间的工单数量且ccti=hw 按照创建时间排序 【已完成】
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) No_onsite_time
from
VAPP_ITEM as vi
where
(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=vi.ROW_ID and va.ATTR_ID=553) is null
and CCTI_CLASS='HW' and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
GROUP BY
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120);
#10,Onsite_1 最近30天 重复上门工单数量 统计有第二次和第三次上门时间的工单 按照创建时间分组 【已完成】
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) Onsite_1
from
VAPP_ITEM as vi
where
(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=row_id and va.ATTR_ID=555) is not null and (SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=row_id and va.ATTR_ID=558) is not null and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
GROUP BY
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120);
---------------------------------------------------------------------------------------------------------
#综合报表
t1.cr_date 日期,
declare @kehu VARCHAR(20)
set @kehu ='WTC';
select
t2.Total_call,
t3.Uniclosed,
t4.Scheduled,
t5.P1_call,
t6.Over_SLA,
datename(day,t1.cr_date) 日期,
t7.SLA_Met,
t8.Worst_TAT,
t9.Avg_onsite_time,
t10.No_onsite_time,
t11.Onsite_1
from
(select convert(varchar(10),dateadd(dd,number,dateadd(month,-1,getdate())),120) as cr_date
from master..spt_values
where type='P' and
dateadd(dd,number,dateadd(month,-1,getdate()))<=getdate())
as t1
left join
(select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) Total_call
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
)
as t2
on t1.cr_date=t2.cr_date
left join
(
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) Uniclosed
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30 and TICKET_STATUS IN ('Active','New','Queued') and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
)
as t3
on t1.cr_date=t3.cr_date
left join
(
SELECT
a.cr_date,
COUNT ( TICKET_ID ) Scheduled
from
(Select CONVERT (VARCHAR ( 10 ),
DATEADD(SECOND, (select top 1 sla_due_by from VSLA_AGREEMENT_COMPLIANCE_LIST_UX as vc where vc.item_id=vi.ROW_ID order by threshold_sort_order desc), '1970/1/1 08:00:00') ,120) as 'cr_date',
vi.TICKET_ID
from VAPP_ITEM as vi where person1_root_org_name = @kehu and TICKET_STATUS not in ('closed') and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,vi.CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30) as a
GROUP BY
a.cr_date
)
as t4
on t1.cr_date=t4.cr_date
left join
(select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
count(TICKET_ID) P1_call
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30 and Ticket_priority='P2'
and person1_root_org_name = @kehu
GROUP BY
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
)
as t5
on t1.cr_date=t5.cr_date
left join
(
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
count(TICKET_ID) Over_SLA
from
VAPP_ITEM
where
sla_compliance_status_indicator='Breached SLA' and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30 and person1_root_org_name = @kehu
GROUP by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
)
as t6
on t1.cr_date=t6.cr_date
left join
(
select
a.cr_date,
(a.xjsl/b.gdsl) SLA_Met
from
(select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) xjsl
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
AND TICKET_STATUS NOT IN ('Active','New','Queued') AND sla_compliance_status_indicator NOT IN ('Breached SLA')
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)) as a
join
(select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) gdsl
from
VAPP_ITEM
where
datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and TICKET_STATUS NOT IN ('Active','New','Queued')
and person1_root_org_name = @kehu
group by
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)) as b
on a.cr_date=b.cr_date
)
as t7
on t1.cr_date=t7.cr_date
left join
(
select
b.cr_date,
max(b.zd) Worst_TAT
from
(select CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
convert(varchar(10),(DATEADD(S,CLOSED_DATE,'1970/1/1 08:00:00') -DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),108) zd
from
VAPP_ITEM
where TICKET_STATUS='Closed' and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
) b
group by
b.cr_date
)
as t8
on t1.cr_date=t8.cr_date
left join
(
select t.cr_date,avg(t.avg_onsitetime) Avg_onsite_time
from
(
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
DATEDIFF(hh,DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00'),(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=vi.ROW_ID and va.ATTR_ID=553)) avg_onsitetime
from
VAPP_ITEM as vi
where
(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=vi.ROW_ID and va.ATTR_ID=553) is not null
and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
) as t
group by t.cr_date
)
as t9
on t1.cr_date=t9.cr_date
left join
(
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) No_onsite_time
from
VAPP_ITEM as vi
where
(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=vi. ROW_ID and va.ATTR_ID=553) is null
and CCTI_CLASS='HW' and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
GROUP BY
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
)
as t10
on t1.cr_date=t10.cr_date
left join
(
select
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120) cr_date,
COUNT(TICKET_ID) Onsite_1
from
VAPP_ITEM as vi
where
(SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=row_id and va.ATTR_ID=555) is not null and (SELECT TOP 1 DATEADD(SECOND, CONVERT(INT, ATTR_VALUE), '1970/1/1 08:00:00') FROM VAPP_ITEM_ATTRIBUTES as va WHERE va.ITEM_ID=row_id and va.ATTR_ID=558) is not null and datediff(dd,CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120),GETDATE())<=30
and person1_root_org_name = @kehu
GROUP BY
CONVERT(VARCHAR(10),(DATEADD(S,CREATED_DATE,'1970/1/1 08:00:00')),120)
)
as t11
on t1.cr_date=t11.cr_date;
07-27
110
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
06-09
359
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
08-05
2万+
![](https://csdnimg.cn/release/blogv2/dist/pc/img/readCountWhite.png)
“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交