JasperReport - Uhrzeiten auswerten

Thomas220

Mitglied
Hallo zusammen,
folgende Aufgabenstellung habe ich, kann sie aber nicht lösen:
In einem Report möchte ich zwei Gruppierungen festlegen. Eine Gruppierung nach Tornummer und eine Gruppierung nach der Uhrzeit im Halbstundentakt. Ausgewertet werden sollen die Ereignisse pro Tor und pro halber Stunde. Die Uhrzeit liegt kontinuierlich vor. als java.sql.Time.
Die Uhrzeit soll zwischen 13.00 und 20.00 Uhr ausgewertet werden.
Ich müsste nun Variablen kreieren, die folgendes Schema aufweisen:
E1300 = alle Ereignisse in der Zeit zwischen 13.00 und 13.29 Uhr
E1330 = alle Ereignisse in der Zeit zwischen 13.30 und 13.59 Uhr
E1400 = alle Ereignisse in der Zeit zwischen 14.00 und 14.29 Uhr
usw.
Aber irgendwie bekomme ich das nicht hin.
Code:
$F{zeit}.toString()>='13:00:00' && $F{zeit}.toString()<'13:30:00'
Das scheitert schon daran, das Strings nicht mit > oder < verglichen werden können. Lasse ich aber die Uhrzeit, wie sie ist, dann weiß ich nicht, wie ich die Uhrzeit schreiben soll. Also String mit ' und Uhrzeit?

Danke.
Thomas
 

Meniskusschaden

Top Contributor
Zu JasperReports kann ich leider nichts sagen, aber häufig ist es sinnvoll, diese Dinge nicht direkt im Bericht zu erledigen, sondern in die Datenbank auszulagern. Man legt pro Dimension (hier Uhrzeit) eine Tabelle an, die pro möglichem Wert eine Zeile und pro Gruppierungsart eine Spalte enthält. Das könnte beispielsweise so aussehen:
Code:
...
13:28  E1300
13:29  E1300
13:30  E1330
13:31  E1330
...
Im Bericht benötigt man dann nur noch einen Join auf diese Tabelle. Das hat den Vorteil, dass die Berichte einfacher werden, man es in verschiedenen Berichten verwenden kann und bei Änderung der Gruppierungskriterien zentral anpassen kann.
Falls es minutengenau ausreicht, hat man eine zusätzliche Tabelle mit 1440 Zeilen. Wenn man die Sekunden benötigt sind es 86400.
 

Thomas220

Mitglied
Hallo Meniskusschaden, vielen Dank für die Antwort und bitte entschuldige, dass ich erst heute reagiere.
Das mit dem Erstellen eigener Tabellen auf dem Server ist leider nicht möglich. Vielleicht mit Views? Muss ich mal gucken. Hat halt mit Fleißarbeit zu tun und der dazu benötigten Zeit.
Bis später,
Thomas
 

Meniskusschaden

Top Contributor
Die Fleißarbeit sehe ich an der Stelle eigentlich nicht. Man erzeugt sich beispielsweise mit zwei oder drei geschachtelten Schleifen (Stunde, Minute, ggf. Sekunde) die passende Anzahl an Zeilen, in die man zunächst nur die Werte der Uhrzeiten schreibt. Die Zeilenanzahl ändert sich dann ja nie wieder.
Danach kann man mit ein paar SQL-Befehlen (Abfrage Uhrzeit von/bis) die Kennzeichen für die Intervalle eintragen.
 

Meniskusschaden

Top Contributor
Vielleicht kannst du dir alternativ auch einfach eine Nummerierung der 30-Minuten-Intervalle aus der Uhrzeit berechnen. Da ich JasperReports nicht kenne, kann ich dazu zwar nichts Konkretes sagen, aber vielleicht hilft folgender Select Befehl trotzdem weiter. Er berechnet zu jeder Uhrzeit eine "halbe-Stunde-Nummer" zwischen 0 und 47:
Code:
SELECT zeit, (hour(zeit)*60 + minute(zeit)) div 30 FROM tabelle
Ein Ausschnitt des Ergebnisses könnte so aussehen:
Code:
13:28:00    26
13:29:00    26
13:30:00    27
13:31:00    27
Mir gefällt die Lösung über eine Tabelle aber besser.
 

Thomas220

Mitglied
Hallo Meniskusschaden, vielen Dank für die Lösungsvorschläge.
Ich glaube, der zweite gefällt mir besser. Teste es mal und melde mich wieder.
Thomas
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
W OOP Objektorientiert: Darstellung von Uhrzeiten im 24-Stunden-Format Java Basics - Anfänger-Themen 15
B Uhrzeiten subtrahieren Java Basics - Anfänger-Themen 2
P Drei Zahlen eines Würfelspiels auswerten Java Basics - Anfänger-Themen 7
L Java Programm zum Auswerten von Daten Java Basics - Anfänger-Themen 11
M Erste Schritte Zahlen einlesen und auswerten Java Basics - Anfänger-Themen 6
F Konsolen Befehl ausführen und Rückgabe auswerten Java Basics - Anfänger-Themen 3
J Best Practice Button isPressed o.ä. auswerten Java Basics - Anfänger-Themen 10
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
S Erste Schritte Sprachermittler - Datei öffnen, Text in TextArea, Bereinigen, Auswerten Java Basics - Anfänger-Themen 14
A ganzrationale funktionen auswerten. Java Basics - Anfänger-Themen 1
M Text innerhalb Anführungsstriche als "eins" auswerten Java Basics - Anfänger-Themen 5
I Werte im Speicher auswerten ohne Umweg über eine Datei Java Basics - Anfänger-Themen 16
T Compiler-Fehler String auswerten mit CharAt Java Basics - Anfänger-Themen 2
G Output aus fremden Klasse auswerten Java Basics - Anfänger-Themen 8
B Input/Output Formatierter Text aus PDF als Array auswerten in JAVA möglich ? Java Basics - Anfänger-Themen 8
K Ausdrücke auswerten Java Basics - Anfänger-Themen 8
K char Einlesen und Auswerten Java Basics - Anfänger-Themen 9
B übergebenen String auswerten Java Basics - Anfänger-Themen 6
D Html Formular auswerten Java Basics - Anfänger-Themen 8
S TYPE_INT_RGB auswerten Java Basics - Anfänger-Themen 6
J String auswerten Java Basics - Anfänger-Themen 2
S Kann einfache Texteingabe nicht auswerten! Java Basics - Anfänger-Themen 3
C Erste GUI - Wie auswerten? Java Basics - Anfänger-Themen 3
G String als booelan auswerten Java Basics - Anfänger-Themen 7
D string zu double auswerten (eval!) Java Basics - Anfänger-Themen 3
H Struts: In JSP error auswerten Java Basics - Anfänger-Themen 7
T strings auswerten Java Basics - Anfänger-Themen 20
I WebApplication, Formulare auswerten Java Basics - Anfänger-Themen 2
S Ausdruck zur Laufzeit auswerten Java Basics - Anfänger-Themen 10
G Array List sortieren / auswerten Java Basics - Anfänger-Themen 24
H String auswerten! Java Basics - Anfänger-Themen 5
M ArrayList auswerten Java Basics - Anfänger-Themen 10
M Ping Pong - Tastaturanschläge sofort auswerten Java Basics - Anfänger-Themen 4
J Auswerten eines Bestimmten inhalts einer Datei Java Basics - Anfänger-Themen 9
G Datei einlesen und auswerten Java Basics - Anfänger-Themen 8
S Textdatei mit Zeilensprung - logDatei auswerten Java Basics - Anfänger-Themen 5
G KeyEvent auswerten Java Basics - Anfänger-Themen 2
S Vector in anderer Klasse auswerten, aber wie ? Java Basics - Anfänger-Themen 8
D JSP & JAVAbean String Auswerten Java Basics - Anfänger-Themen 2
P Tastatureingaben auswerten Java Basics - Anfänger-Themen 4
H Instanz einer Klasse übergeben und dynamisch auswerten Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben