Table of Contents

Custom Call Type - Bucket Reports

Call Type Answered Custom Bucket Interval Report

SET ARITHABORT OFF SET ANSI_WARNINGS OFF SET NOCOUNT ON 
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
 
;WITH TEMP_TABLE1 AS (
SELECT 
CallTypeID=TCD.CallTypeID
,CASE 
WHEN NetQTime >=0 AND NetQTime <= 20  THEN 1
WHEN NetQTime > 20 AND NetQTime <= 60 THEN 2
WHEN NetQTime > 60 AND NetQTime <= 180 THEN 3
WHEN NetQTime > 180 AND NetQTime <= 300 THEN 4
WHEN NetQTime > 300 AND NetQTime <= 600 THEN 5
WHEN NetQTime > 600 AND NetQTime <= 900 THEN 6
WHEN NetQTime > 900 AND NetQTime <= 1200 THEN 7
WHEN NetQTime > 1200 AND NetQTime <= 1500 THEN 8
WHEN NetQTime > 1500 AND NetQTime <= 1800 THEN 9
WHEN NetQTime > 1800 AND NetQTime <= 2700 THEN 10
WHEN NetQTime > 2700 AND NetQTime <= 3600 THEN 11
WHEN NetQTime > 3600 THEN 12
ELSE 0 
END AS BucketInterval
 
FROM 
Termination_Call_Detail TCD (nolock)
 
WHERE 
 
  TCD.DateTime >= '2020-01-01 00:00:00'
  AND TCD.DateTime < '2020-10-02 23:59:59'
  AND TCD.PeripheralID IN (5000) 
  AND TCD.CallDispositionFlag = '1'
)
 
,TEMP_TABLE2 AS (SELECT 
 CallTypeID = CallTypeID
,BucketInterval = BucketInterval
,BucketCount =  COUNT(*) FROM TEMP_TABLE1
GROUP BY 
 CallTypeID
,BucketInterval
)
 
,TEMP_PIVOT AS (SELECT * FROM (SELECT 
 CallTypeID = T2.CallTypeID
,BucketInterval = BucketInterval
,BucketCount 
 
FROM TEMP_TABLE2 T2
) AS T PIVOT (MAX(BucketCount) FOR BucketInterval IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) AS PIVOT_TABLE
)
 
SELECT  
 CallTypeID = TP.CallTypeID
,CalltypeName = Call_Type.EnterpriseName
,Interval_01 = isNull(TP.[1],0)
,Interval_02 = isNull(TP.[2],0)
,Interval_03 = isNull(TP.[3],0)
,Interval_04 = isNull(TP.[4],0)
,Interval_05 = isNull(TP.[5],0)
,Interval_06 = isNull(TP.[6],0)
,Interval_07 = isNull(TP.[7],0)
,Interval_08 = isNull(TP.[8],0)
,Interval_09 = isNull(TP.[9],0)
,Interval_10 = isNull(TP.[10],0)
,Interval_11 = isNull(TP.[11],0)
,Interval_12 = isNull(TP.[12],0)
 
 
FROM TEMP_PIVOT TP
JOIN Call_Type (nolock) ON (TP.CallTypeID = Call_Type.CallTypeID)
 
ORDER BY Call_Type.EnterpriseName

Call Type Abandoned in IVR Custom Bucket Interval Report

SET ARITHABORT OFF SET ANSI_WARNINGS OFF SET NOCOUNT ON 
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
 
;WITH TEMP_TABLE1 AS (
SELECT 
CallTypeID=TCD.CallTypeID
,CASE 
WHEN LocalQTime >=0 AND LocalQTime <= 20  THEN 1
WHEN LocalQTime > 20 AND LocalQTime <= 60 THEN 2
WHEN LocalQTime > 60 AND LocalQTime <= 180 THEN 3
WHEN LocalQTime > 180 AND LocalQTime <= 300 THEN 4
WHEN LocalQTime > 300 AND LocalQTime <= 600 THEN 5
WHEN LocalQTime > 600 AND LocalQTime <= 900 THEN 6
WHEN LocalQTime > 900 AND LocalQTime <= 1200 THEN 7
WHEN LocalQTime > 1200 AND LocalQTime <= 1500 THEN 8
WHEN LocalQTime > 1500 AND LocalQTime <= 1800 THEN 9
WHEN LocalQTime > 1800 AND LocalQTime <= 2700 THEN 10
WHEN LocalQTime > 2700 AND LocalQTime <= 3600 THEN 11
WHEN LocalQTime > 3600 THEN 12
ELSE 0 
END AS BucketInterval
 
FROM 
Termination_Call_Detail TCD (nolock)
 
WHERE 
  TCD.DateTime >= '2020-09-01 00:00:00'
  AND TCD.DateTime < '2020-09-30 23:59:59'
  AND TCD.PeripheralID IN (5002,5003) 
  AND TCD.CallDispositionFlag = '2'
)
 
,TEMP_TABLE2 AS (SELECT 
 CallTypeID = CallTypeID
,BucketInterval = BucketInterval
,BucketCount =  COUNT(*) FROM TEMP_TABLE1
GROUP BY 
 CallTypeID
,BucketInterval
)
 
,TEMP_PIVOT AS (SELECT * FROM (SELECT 
 CallTypeID = T2.CallTypeID
,BucketInterval = BucketInterval
,BucketCount 
 
FROM TEMP_TABLE2 T2
) AS T PIVOT (MAX(BucketCount) FOR BucketInterval IN ([1],[2],[3],[4],[5],[6],[7],[8],[9],[10],[11],[12])) AS PIVOT_TABLE
)
 
SELECT  
 CallTypeID = TP.CallTypeID
,CalltypeName = Call_Type.EnterpriseName
,Interval_01 = isNull(TP.[1],0)
,Interval_02 = isNull(TP.[2],0)
,Interval_03 = isNull(TP.[3],0)
,Interval_04 = isNull(TP.[4],0)
,Interval_05 = isNull(TP.[5],0)
,Interval_06 = isNull(TP.[6],0)
,Interval_07 = isNull(TP.[7],0)
,Interval_08 = isNull(TP.[8],0)
,Interval_09 = isNull(TP.[9],0)
,Interval_10 = isNull(TP.[10],0)
,Interval_11 = isNull(TP.[11],0)
,Interval_12 = isNull(TP.[12],0)
 
FROM TEMP_PIVOT TP
JOIN Call_Type (nolock) ON (TP.CallTypeID = Call_Type.CallTypeID)
ORDER BY Call_Type.EnterpriseName