Zeitliches Histogramm

So, nach all den super Vorschlägen wende ich mich nun an euch mit einer Sache, bei der ich einfach überhaupt nicht weiterkomme. :frowning:

Und zwar geht es darum, dass ich über den Zeitraum von April bis Mai ein Histogramm erstellen muss, das mir sagt wie viele Aufträge in einem bestimmten Zeitraum eingegangen sind. Meine Tabelle sollte so aussehen:

Von - Bis - Aufträge - Anteil
00:00 - 00:29 - 00 - 0%
00:30 - 00:59 - 02 - 12,5%
01:00 - 01:29 - 10 - 62,5%

23:30 - 23:59 - 04 - 25%
(natürlich sind die Prozentzahlen auf die Beispiel-Aufträge angepasst)

Mein Problem ist, dass ich es einfach nicht auf die Reihe kriege eine zeitliche Unterteilung in 30 Min Intervalle zu erstellen. Als „quick & dirty“ Idee hatte ich überlegt einfach 48x UNION ALL bei meinem SELECT-Statement zu machen…

SELECT mtq, count(mtq), ratio_to_report(count(mtq)) over()
FROM t1
WHERE mtq BETWEEN mtq AND mtq + (1/1440)*29
GROUP BY mtq
UNION ALL
SELECT mtq, count(mtq), ratio_to_report(count(mtq)) over()
FROM t1
WHERE mtq BETWEEN mtq + (1/1440)*30 AND mtq + (1/1440)*59
GROUP BY mtq
etc…

mtq ist der Name meiner Datums-Spalte.

Aber irgendwie will es vorne und hinten nicht funktionieren. Ich hab schon überlegt mit TO_CHAR oder TO_DATE zu arbeiten, aber da komm ich auch nicht weiter. Vorallem habe ich das Problem, dass ich einen Monat (01.04.08-31.04.08) abdecken will; aber die einzelnen Tage irrelevant sind, sondern mich nur die Zeitintervalle interessieren.

Leider habe ich dieses Mal noch nicht einmal eine gute Start-Idee um ein zeitliches Profil der Aufträge zu erstellen.

Habt ihr vielleicht eine Idee?

Liebe Grüße :smile:

Hallo ITGirl,

da Du uns wahre löcher in den Bauch fragst, wäre es sinnvoll, wenn Du mal Deine Vita etwas mehr ausfüllt, damit man sich besser auf Deinen Wissensstand einrichten kann.

Ansatz für Dein Problem: Die Datumsspalte mtq beinhaltet Tag und Uhrzeit (im Normalfall Uhrzeit als Bruchteil eines Tages). Trenne die Uhrzeit ab (mtq -trunc(mtq)), multipliziere mit der Anzahl der gewünschten Intervalle am Tag (halbe Stunde -> Faktor 48) und gruppiere über die Ganzzahl (trunc).

Ob es einen sittlichen Nährwert hat die Halbstundenintervalle über ein Monat ohne Berücksichtigung der Wochentage zu erzeugen, wage ich auch bei Deinem Szenario allerdings mal zu bezweifeln.

MfG Georg V.