Hallo zusammen,
auf der Suche nach einem guten deutschsprachigen Forum für SQL bin ich nun auf dieses gestoßen.
Und gleich hätte ich eine "größere" Frage.
Ich versuche soeben die Durchlaufzeit einzelner Postfächer zu ermitteln.
Alle Daten werden in eine Roh-Tabelle geschrieben.
Aufbau der Tabelle:
ID | Createddate(Zeitstempel) | Bearbeitungsnummer | Status | Postfach | Bearbeiter | Erstellt_am | Bearbeitet_am
99 | 2017-06-30 23:45:18.0000 | TE1541247 | NEU | Vermittlung | NULL | 2017-06-30 23:45:18.0000 | NULL
100 | 2017-07-15 12:00:15.0000 | TE1578947 | NEU | Vermittlung | NULL | 2017-07-15 12:00:15.0000 | NULL
101 | 2017-07-15 12:03:49.0000 | TE1594748 | Bearbeitet | Buchhaltung | Hans | 2017-07-04 14:12:36.0000 | 2017-07-15 12:03:49.0000
102 | 2017-07-15 13:05:12.0000 | TE1600147 | NEU | Lager | NULL | 2017-07-15 13:05:12.0000 | NULL
103 | 2017-07-15 13:07:31.0000 | TE1578947 | Weitergeleitet | Personal | Markus | 2017-07-15 12:00:15.0000 | NULL
104 | 2017-07-15 13:08:48.0000 | TE1541247 | Warten | Personal | Hans | 2017-06-30 23:45:18.0000 | NULL
105 | 2017-07-15 14:49:55.0000 | TE1541247 | Weitergeleitet | Buchhaltung | Sven | 2017-06-30 23:45:18.0000 | NULL
106 | 2017-07-16 08:01:27.0000 | TE1610149 | NEU | Vermittlung | NULL| 2017-07-16 08:01:27.0000 | NULL
107 | 2017-07-16 09:23:17.0000 | TE1578947 | Weitergeleitet | Buchhaltung | Sven | 2017-07-15 12:00:15.0000 | NULL
108 | 2017-07-16 14:09:13.0000 | TE1611794 | NEU | Buchhaltung | NULL | 2017-07-16 14:09:13.0000 | NULL
109 | 2017-07-17 03:05:42.0000 | TE1600147 | Weitergeleitet | Personal | Niki | 2017-07-15 13:05:12.0000 | NULL
110 | 2017-07-18 09:31:02.0000 | TE1604731 | Warten | Personal | Hans | 2017-06-12 14:12:32.0000 | NULL
111 | 2017-07-18 15:15:49.0000 | TE1578947 | Bearbeitet | Buchhaltung | Hans | 2017-07-15 12:00:15.0000 | 2017-07-18 15:15:49.0000
112 | 2017-07-18 16:18:53.0000 | TE1541247 | Warten | Buchhaltung | Markus | 2017-06-30 23:45:18.0000 | NULL
113 | 2017-07-18 17:54:19.0000 | TE1541247 | Warten | Buchhaltung | Hans | 2017-06-30 23:45:18.0000 | NULL
114 | 2017-07-18 19:03:44.0000 | TE1541247 | Bearbeitet | Buchhaltung | Markus | 2017-06-30 23:45:18.0000 | 2017-07-18 19:03:44.0000
115 | 2017-07-18 20:14:37.0000 | TE1612616 | NEU | Buchhaltung | Hans | 2017-07-18 20:14:37.0000 | NULL
Die Herausforderung die ich gerade habe ist die Durchlaufzeit, wenn Fall 1 in Postfach A erstellt wird, von dort nach Postfach B, in diesem ggf. die Bearbeitung auf Warten gestellt wird
und dann weiter zu Postfach C geleitet wird.
Im Grunde interessiert mich nun die Durchlaufzeit in Postfach B.
leider kann es vorkommen, dass der Status "Warten" zu einem Fall mehrfach im selben Postfach vorkommt (mit unterschiedlichen Createdate-Zeiten)
Die generelle Durchlaufzeit zwischen Erstellung des Anliegen und finaler Bearbeitung stellt keine Herausfordung dar.
SELECT CONVERT(date, s.Createddate) Datum
, s.Bearbeitungsnummer
, s.Postfach
, Count(distinct case when s.STATUS = 'Bearbeitet' and convert(date, s.Bearbeitet_am) = @vondatum then s.Bearbeitungsnummer else Null end) Abschluss
, isnull((DATEDIFF(SECOND, min(distinct case when s.STATUS = 'Bearbeitet'
and convert(date, s.Bearbeitet_am) = @vondatum then s.Erstellt_am else Null end),
min(distinct case when s.STATUS = 'Bearbeitet'
and convert(date, s.Bearbeitet_am) = @vondatum then s.Bearbeitet_am else Null end))),0) DLZ_Gesamt
INTO #dlz_gesamt
FROM [sachbearbeitung].[dbo].[postfaecher] s
INNER JOIN abt_personal.dbo.personal_post pf on s.Postfach = pf.Postfaecher
WHERE convert(date, s.Createddate) = @vondatum
and s.Bearbeiter not like ('Auto%')
and s.STATUS = 'Bearbeitet'
and pf.Abteilung != 'NICHT RELEVANT'
GROUP BY CONVERT(date, s.Createddate), s.Postfach, s.Bearbeitungsnummer
ORDER BY CONVERT(date, s.Createddate), s.Postfach ASC
Hat jemand eine gute Idee für mich?
Besten Dank schonmal.
Eberold
auf der Suche nach einem guten deutschsprachigen Forum für SQL bin ich nun auf dieses gestoßen.
Und gleich hätte ich eine "größere" Frage.
Ich versuche soeben die Durchlaufzeit einzelner Postfächer zu ermitteln.
Alle Daten werden in eine Roh-Tabelle geschrieben.
Aufbau der Tabelle:
ID | Createddate(Zeitstempel) | Bearbeitungsnummer | Status | Postfach | Bearbeiter | Erstellt_am | Bearbeitet_am
99 | 2017-06-30 23:45:18.0000 | TE1541247 | NEU | Vermittlung | NULL | 2017-06-30 23:45:18.0000 | NULL
100 | 2017-07-15 12:00:15.0000 | TE1578947 | NEU | Vermittlung | NULL | 2017-07-15 12:00:15.0000 | NULL
101 | 2017-07-15 12:03:49.0000 | TE1594748 | Bearbeitet | Buchhaltung | Hans | 2017-07-04 14:12:36.0000 | 2017-07-15 12:03:49.0000
102 | 2017-07-15 13:05:12.0000 | TE1600147 | NEU | Lager | NULL | 2017-07-15 13:05:12.0000 | NULL
103 | 2017-07-15 13:07:31.0000 | TE1578947 | Weitergeleitet | Personal | Markus | 2017-07-15 12:00:15.0000 | NULL
104 | 2017-07-15 13:08:48.0000 | TE1541247 | Warten | Personal | Hans | 2017-06-30 23:45:18.0000 | NULL
105 | 2017-07-15 14:49:55.0000 | TE1541247 | Weitergeleitet | Buchhaltung | Sven | 2017-06-30 23:45:18.0000 | NULL
106 | 2017-07-16 08:01:27.0000 | TE1610149 | NEU | Vermittlung | NULL| 2017-07-16 08:01:27.0000 | NULL
107 | 2017-07-16 09:23:17.0000 | TE1578947 | Weitergeleitet | Buchhaltung | Sven | 2017-07-15 12:00:15.0000 | NULL
108 | 2017-07-16 14:09:13.0000 | TE1611794 | NEU | Buchhaltung | NULL | 2017-07-16 14:09:13.0000 | NULL
109 | 2017-07-17 03:05:42.0000 | TE1600147 | Weitergeleitet | Personal | Niki | 2017-07-15 13:05:12.0000 | NULL
110 | 2017-07-18 09:31:02.0000 | TE1604731 | Warten | Personal | Hans | 2017-06-12 14:12:32.0000 | NULL
111 | 2017-07-18 15:15:49.0000 | TE1578947 | Bearbeitet | Buchhaltung | Hans | 2017-07-15 12:00:15.0000 | 2017-07-18 15:15:49.0000
112 | 2017-07-18 16:18:53.0000 | TE1541247 | Warten | Buchhaltung | Markus | 2017-06-30 23:45:18.0000 | NULL
113 | 2017-07-18 17:54:19.0000 | TE1541247 | Warten | Buchhaltung | Hans | 2017-06-30 23:45:18.0000 | NULL
114 | 2017-07-18 19:03:44.0000 | TE1541247 | Bearbeitet | Buchhaltung | Markus | 2017-06-30 23:45:18.0000 | 2017-07-18 19:03:44.0000
115 | 2017-07-18 20:14:37.0000 | TE1612616 | NEU | Buchhaltung | Hans | 2017-07-18 20:14:37.0000 | NULL
Die Herausforderung die ich gerade habe ist die Durchlaufzeit, wenn Fall 1 in Postfach A erstellt wird, von dort nach Postfach B, in diesem ggf. die Bearbeitung auf Warten gestellt wird
und dann weiter zu Postfach C geleitet wird.
Im Grunde interessiert mich nun die Durchlaufzeit in Postfach B.
leider kann es vorkommen, dass der Status "Warten" zu einem Fall mehrfach im selben Postfach vorkommt (mit unterschiedlichen Createdate-Zeiten)
Die generelle Durchlaufzeit zwischen Erstellung des Anliegen und finaler Bearbeitung stellt keine Herausfordung dar.
SELECT CONVERT(date, s.Createddate) Datum
, s.Bearbeitungsnummer
, s.Postfach
, Count(distinct case when s.STATUS = 'Bearbeitet' and convert(date, s.Bearbeitet_am) = @vondatum then s.Bearbeitungsnummer else Null end) Abschluss
, isnull((DATEDIFF(SECOND, min(distinct case when s.STATUS = 'Bearbeitet'
and convert(date, s.Bearbeitet_am) = @vondatum then s.Erstellt_am else Null end),
min(distinct case when s.STATUS = 'Bearbeitet'
and convert(date, s.Bearbeitet_am) = @vondatum then s.Bearbeitet_am else Null end))),0) DLZ_Gesamt
INTO #dlz_gesamt
FROM [sachbearbeitung].[dbo].[postfaecher] s
INNER JOIN abt_personal.dbo.personal_post pf on s.Postfach = pf.Postfaecher
WHERE convert(date, s.Createddate) = @vondatum
and s.Bearbeiter not like ('Auto%')
and s.STATUS = 'Bearbeitet'
and pf.Abteilung != 'NICHT RELEVANT'
GROUP BY CONVERT(date, s.Createddate), s.Postfach, s.Bearbeitungsnummer
ORDER BY CONVERT(date, s.Createddate), s.Postfach ASC
Hat jemand eine gute Idee für mich?
Besten Dank schonmal.
Eberold