Skip to content

Commit f735bf5

Browse files
author
Torben
committed
✨ Added SQL Query for Single Contact Resolution KPI
✨ Added SQL Query for Resolution Rate in First Level Support KPI
0 parents  commit f735bf5

4 files changed

Lines changed: 80 additions & 0 deletions
179 KB
Binary file not shown.

requirements_review_board.pdf

189 KB
Binary file not shown.
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
SELECT
2+
ticket.ID,
3+
ticket.ClosedDate,
4+
-- ticket.[Expression-ObjectID] AS ObjectID, -- Uncomment if ObjectID is needed (Warning: performance impact)
5+
/*
6+
Die Bedingung ist wahr, wenn das Ticket im Status "Geschlossen" ist und
7+
es keine historischen Aktionen vom Typ "Weiterleitung an Rolle" gibt,
8+
welche an eine NICHT-First-Level-Support-Rolle weitergeleitet wurden.
9+
*/
10+
CASE
11+
WHEN COUNT(journal.[Expression-ObjectID]) = 0 THEN 1
12+
ELSE 0
13+
END AS IsFirstLevelSupportResolution
14+
FROM
15+
dbo.SPSActivityClassBase AS ticket
16+
LEFT OUTER JOIN (
17+
SELECT
18+
[Expression-ObjectID]
19+
FROM
20+
dbo.SPSCommonClassBase
21+
WHERE
22+
/* Nur Tickets im Status "Geschlossen" */
23+
State = 204
24+
) AS ticketCommon ON ticket.[Expression-ObjectID] = ticketCommon.[Expression-ObjectID]
25+
/* Wir erzeugen Zeilen, in welcher entweder (NULL) oder die KPI verletzende Weiterleitungs-Aktion vorkommt. */
26+
LEFT OUTER JOIN (
27+
SELECT
28+
[Expression-ObjectID]
29+
FROM
30+
dbo.SPSActivityClassUnitOfWork
31+
WHERE
32+
/* Nur Journal-Einträge für "Weiterleitung an Rolle" */
33+
ActivityAction = 3
34+
AND
35+
/* Nur Fragmente, welche NICHT der SPSScRoleClassBase einer First-Level-Support-Rolle entsprechen */
36+
CAST(SolutionParams AS XML).value(
37+
'(/parameters/JournalEntryParameterBase/FragmentIds/fragmentId)[1]',
38+
'uniqueidentifier'
39+
) NOT IN (
40+
/* Liste der First-Level-Support-Rollen, als IDs der SPSScRoleClassBase */
41+
'74f788df-1d40-e911-c1a2-005056858d73'
42+
)
43+
) AS journal ON ticketCommon.[Expression-ObjectID] = journal.[Expression-ObjectID]
44+
GROUP BY
45+
-- ticket.[Expression-ObjectID], -- Uncomment if ObjectID is needed (Warning: performance impact)
46+
ticket.ID,
47+
ticket.ClosedDate;

single_contact_resolution.sql

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
SELECT
2+
ticket.ID,
3+
ticket.ClosedDate,
4+
-- ticket.[Expression-ObjectID] AS ObjectID, -- Uncomment if ObjectID is needed (Warning: performance impact)
5+
/*
6+
Die Bedingung ist wahr, wenn das Ticket im Status "Geschlossen" ist
7+
und die relevanten Aktionen (Annehmen und Schließen) historisch
8+
nur von einer einzigen Person durchgeführt wurden.
9+
*/
10+
CASE
11+
WHEN COUNT(DISTINCT journal.Creator) <= 1 THEN 1
12+
ELSE 0
13+
END AS IsSingleContactResolution
14+
FROM
15+
dbo.SPSActivityClassBase AS ticket
16+
LEFT OUTER JOIN (
17+
SELECT
18+
[Expression-ObjectID]
19+
FROM
20+
dbo.SPSCommonClassBase
21+
WHERE
22+
/* Nur Tickets im Status "Geschlossen" */
23+
State = 204
24+
) AS ticketCommon ON ticket.[Expression-ObjectID] = ticketCommon.[Expression-ObjectID]
25+
LEFT OUTER JOIN dbo.SPSActivityClassUnitOfWork AS journal ON ticketCommon.[Expression-ObjectID] = journal.[Expression-ObjectID]
26+
AND (
27+
journal.ActivityAction = 7
28+
OR journal.ActivityAction = 8
29+
) -- 7 = Accept / Annehmen, 8 = Close / Schließen
30+
GROUP BY
31+
-- ticket.[Expression-ObjectID], -- Uncomment if ObjectID is needed (Warning: performance impact)
32+
ticket.ID,
33+
ticket.ClosedDate;

0 commit comments

Comments
 (0)