First POC valid. 16k lines or so pumped.
This commit is contained in:
143
query.sql
Normal file
143
query.sql
Normal file
@@ -0,0 +1,143 @@
|
||||
SELECT
|
||||
s.TicketNbr AS 'id'
|
||||
,s.TicketNbr AS 'Ticket_Number'
|
||||
,s.company_name AS 'Company_Name'
|
||||
,co.company_id AS 'Company_ID'
|
||||
,s.contact_name AS 'Contact'
|
||||
,s.source AS 'Source'
|
||||
,s.Site_Name AS customer_site
|
||||
,s.team_name
|
||||
,s.Territory
|
||||
,s.location AS 'Location'
|
||||
,s.board_name AS 'Board'
|
||||
,s.summary AS 'Summary'
|
||||
,s.status_description AS 'Status'
|
||||
,CAST(s.date_entered AS DATETIME) AS 'date_opened'
|
||||
,CAST(s.last_update AS DATETIME) AS 'date_last_updated'
|
||||
,CAST(s.Date_Required AS DATETIME) AS 'Date_Required'
|
||||
,COALESCE(s.Responded_Minutes,0) + COALESCE(s.Responded_Skipped_Minutes,0) AS 'time_to_acknowledgement_minutes'
|
||||
,CASE
|
||||
WHEN s.Date_Responded_UTC is NULL THEN NULL
|
||||
ELSE COALESCE(s.Responded_Minutes,0) + COALESCE(s.Responded_Skipped_Minutes,0)
|
||||
END AS 'time_to_response_minutes'
|
||||
,CAST(s.date_responded_utc AS DATETIME) AS acknowledgement_date
|
||||
,CAST(s.date_responded_utc AS DATETIME) AS response_date
|
||||
,CASE WHEN s.Date_Responded_UTC IS NOT NULL THEN (CASE WHEN s.Responded_Minutes + s.Responded_Skipped_Minutes <=
|
||||
(CASE WHEN slap.Responded_Hours IS NOT NULL THEN slap.Responded_Hours ELSE sla.Responded_Hours END
|
||||
* 60) THEN 'Met' ELSE 'Unmet' END) ELSE NULL END AS 'metresponsesla'
|
||||
,CAST(CAST (s.Resplan_Minutes + s.Resplan_Skipped_Minutes + s.Responded_Minutes AS DECIMAL (9, 2)) / 60.0 AS DECIMAL(10,2)) AS 'time_to_resolution_plan(hours)'
|
||||
,CAST(s.date_resplan_utc AS DATETIME) AS 'resolution_plan_date'
|
||||
,CASE WHEN s.Date_Resplan_UTC IS NOT NULL THEN (CASE WHEN s.Resplan_Minutes + s.Resplan_Skipped_Minutes + s.Responded_Minutes <=
|
||||
(CASE WHEN slap.Resplan_Hours IS NOT NULL THEN slap.Resplan_Hours ELSE sla.Resplan_Hours END
|
||||
* 60) THEN 'Met' ELSE 'Unmet' END) ELSE NULL END AS 'metresplansla'
|
||||
,CAST(CAST (s.Resolved_Minutes + s.Resplan_Minutes + s.Responded_Minutes AS DECIMAL (9, 2)) / 60.0 AS DECIMAL(10,2)) AS 'time_to_resolution(hours)'
|
||||
,CAST(s.date_resolved_utc AS DATETIME) AS 'resolution_date'
|
||||
,CASE WHEN s.Date_Resolved_UTC IS NOT NULL THEN (CASE WHEN s.Resolved_Minutes + s.resplan_minutes + s.Responded_Minutes <=
|
||||
(CASE WHEN slap.Resolution_Hours IS NOT NULL THEN slap.Resolution_Hours ELSE sla.Resolution_Hours END
|
||||
* 60) THEN 'Met' ELSE 'Unmet' END) ELSE NULL END AS 'metresolutionsla'
|
||||
,CAST(s.date_closed AS DATETIME) AS 'date_closed'
|
||||
,CASE
|
||||
When DATEDIFF(DD, s.date_entered, s.date_closed) = 0 Then 'Y'
|
||||
ELSE 'N'
|
||||
END AS 'same_day_close'
|
||||
,CASE
|
||||
WHEN DATEDIFF(DD,s.Date_Responded_UTC,s.Date_Resolved_UTC) = 0 Then 'Y'
|
||||
ELSE 'N'
|
||||
END AS 'same_day_resolved'
|
||||
,s.servicetype AS 'Type'
|
||||
,s.servicesubtype AS 'SubType'
|
||||
,s.servicesubtypeitem AS 'Service_Item'
|
||||
,s.urgency AS 'Priority'
|
||||
,s.Severity
|
||||
,s.Impact
|
||||
,s.Hours_Actual
|
||||
,s.Hours_Budget
|
||||
,s.Hours_Scheduled
|
||||
,s.Hours_Billable
|
||||
,s.Hours_NonBillable
|
||||
,s.Hours_Invoiced
|
||||
,s.Hours_Agreement
|
||||
,s.agreement_name
|
||||
,CASE WHEN s.Date_Resolved_UTC IS NOT NULL THEN CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, s.Date_Resolved_UTC)/24.0, 0) AS NUMERIC)
|
||||
ELSE CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) END AS 'Age (Days)'
|
||||
,CASE WHEN s.Date_Resolved_UTC IS NULL THEN
|
||||
CASE WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 8 THEN '1. Current'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 7 AND CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 15 THEN '2. 1 Week'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 14 AND CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 22 THEN '3. 2 Weeks'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 21 AND CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 30 THEN '4. 3 Weeks'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 29 THEN '5. 1+ Month'
|
||||
END
|
||||
ELSE 'Resolved' END AS 'Unresolved Age (Weeks)'
|
||||
,CASE WHEN s.date_closed IS NULL THEN
|
||||
CASE WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 8 THEN '1. Current'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 7 AND CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 15 THEN '2. 1 Week'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 14 AND CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 22 THEN '3. 2 Weeks'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 21 AND CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) < 30 THEN '4. 3 Weeks'
|
||||
WHEN
|
||||
CAST(ROUND(DATEDIFF(Hour, s.Date_Entered, CURRENT_TIMESTAMP)/24.0, 0) AS NUMERIC) > 29 THEN '5. 1+ Month'
|
||||
END
|
||||
ELSE 'Resolved' END AS 'Unsolved Age (Weeks)'
|
||||
,CASE
|
||||
WHEN s.date_responded_utc is NULL THEN '1. Pending Response'
|
||||
WHEN s.Date_Resplan_UTC is NULL THEN '2. Pending Resolution Plan'
|
||||
WHEN s.Date_Resolved_UTC is NULL THEN '3. Pending Resolution'
|
||||
WHEN s.Date_Resolved_UTC is NOT NULL THEN '4. Resolved'
|
||||
WHEN s.date_closed is NOT NULL THEN '5. Closed'
|
||||
END AS SLA_Escalation_Status
|
||||
,LOWER(s.resolved_by) AS Resolved_By
|
||||
,LOWER(s.closed_by) AS Closed_By
|
||||
,LOWER(s.Responded_By) AS responded_by
|
||||
,LOWER(town.member_id) AS Ticket_Owner_ID
|
||||
,CAST(town.First_Name AS varchar) + ' ' + cast(town.Last_Name AS varchar) AS Ticket_Owner
|
||||
,CASE
|
||||
WHEN (s.date_resolved_utc IS NOT NULL) THEN 'Resolved'
|
||||
ELSE 'Open'
|
||||
END AS Resolved_Flag
|
||||
,CASE
|
||||
WHEN (s.Closed_Flag = 'True') THEN 'Closed'
|
||||
ELSE 'Open'
|
||||
END AS Closed_Flag
|
||||
,CASE
|
||||
WHEN (SELECT recid FROM Schedule
|
||||
WHERE close_flag != 'True'
|
||||
AND Schedule_Type_RecID = 4
|
||||
AND s.ticketnbr = RecID
|
||||
GROUP BY recid) IS NOT NULL THEN 'Y'
|
||||
ELSE 'N'
|
||||
END AS Is_Assigned
|
||||
,CASE
|
||||
WHEN s.config_recids IS NULL THEN 'False'
|
||||
ELSE 'True'
|
||||
END AS Config_Attached
|
||||
,COALESCE((SELECT COUNT(t.time_recid) FROM time_entry t WHERE t.sr_service_recid = s.sr_service_recid),0) AS Time_Entry_Count
|
||||
,al.agr_type_desc AS agreement_type
|
||||
,al.Agreement_Status
|
||||
,CAST(CASE
|
||||
WHEN s.Closed_Flag = 'True' THEN NULL
|
||||
ELSE (SELECT MIN(Date_Time_Start_UTC)
|
||||
FROM schedule
|
||||
WHERE recid = s.sr_service_Recid
|
||||
AND schedule_type_recid = 4
|
||||
AND close_flag = 'False')
|
||||
END AS DATETIME) AS next_date
|
||||
FROM v_rpt_service AS s
|
||||
LEFT JOIN company AS co ON s.company_recid = co.company_recid
|
||||
LEFT JOIN SR_SLA AS sla ON s.SR_SLA_RecID = sla.SR_SLA_RECID
|
||||
LEFT JOIN SR_Urgency AS sru ON s.SR_Urgency_RecID = sru.SR_Urgency_RecID
|
||||
LEFT JOIN SR_SLAPriority AS slap ON s.SR_SLA_RecID = slap.SR_SLA_RecID AND sru.SR_Urgency_RecID = slap.SR_Urgency_RecID
|
||||
LEFT JOIN member AS town ON town.member_recid = s.Ticket_Owner_RecID
|
||||
LEFT JOIN v_rpt_agreementlist AS al ON al.agr_header_recid = s.agr_header_recid
|
||||
INNER JOIN SR_Service AS sr ON s.ticketnbr = sr.sr_service_Recid
|
||||
|
||||
WHERE
|
||||
(DATEADD(DAY, -210 , Current_Timestamp) <= sr.Last_Update)
|
||||
AND sr.Parent_Recid is null
|
||||
Reference in New Issue
Block a user