❤️ Helfen Sie noch heute, unser LibreOffice Forum zu erhalten! ❤️
Unterstützen Sie das LibreOffice-Forum und helfen Sie uns, unser Ziel für 2025 zu erreichen!

🍀 Jeder Beitrag zählt – vielen Dank für Ihre Unterstützung!🍀
Mit Ihrer Spende sichern Sie den Fortbestand, den Ausbau und die laufenden Kosten dieses Forums. 🌱


❤️ DANKE >> << DANKE ❤️

>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗

Stunden von Datum abziehen

Base ermöglicht es Ihnen, Ihre Daten in einer Datenbank direkt mit LibreOffice zu bearbeiten.
Antworten
fraxinas
Beiträge: 5
Registriert: Mi 8. Jul 2015, 13:41

Stunden von Datum abziehen

Beitrag von fraxinas » Mi 8. Jul 2015, 13:56

Ich habe einen Bericht in dem ich eine Datums- und Zeitangabe "Fertig" habe (DATETIME) z.B. 10.07.2015 16:00
Hiervon möchte ich jeweils Stundenangaben abziehen, z.B. 72h, 24h, 4h oder 2h
Ich habe dazu die abzuziehenden Werte auch als DATETIME in der Tabelle vorliegen, allerdings werden nur 72:00 richtig angezeigt mit dem Format [HH]:MM. Aus 24h werden 876600:00, 4h -> 876580:00 und 2h -> 876578:00
Wenn ich nun diese Werte mit der einfachen Formel [Fertig]-[MZts] subtrahiere, erhalte ich die Werte
06.07.15 00:00, 09.07.15 00:00, 10.07.15 00:00 und nochmal 10.07.15 00:00.
Also das sieht so als als würde er zwar den Tag richtig abziehen, aber die ursprüngliche Uhrzeit dabei ignorieren.
Alternativ habe ich in der Tabelle auch eine Spalte mit INTEGER-Werten für die Stunden. Aber damit bin ich nicht weitergekommen, wenn ich das subtrahiert habe, wurden immer ganze Tage abgezogen. Ich habe auch probiert, nicht erst im Bericht, sondern schon vorher in der Abfrage per SQL die richtigen DATETIME-Werte mit SQL-Befehlen zu berechnen, aber da habe ich auch auf Granit gebissen.

Wie muss ich die Berechnung richtig ausführen?

Herzlichen Dank für Eure Hilfe!

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Stunden von Datum abziehen

Beitrag von RobertG » Mi 8. Jul 2015, 16:23

Hallo fraxinas,

mit der internen HSQLDB kannst Du zwar den Zeitunterschied zwischen zwei Zeitstempeln ermitteln, nicht aber von einem Zeitstempel eine Zeit abziehen und dann eine neue Zeit erhalten. Eine Funktion wie DateADD ist dort nicht eingebaut.

Beim ReportBuilder müsste folgendes funktionieren:
Die Zeitangabe liegt korrekt als Zeitstempel vor. Davon ziehst Du ab TIME(4,0,0) - sind 4 Stunden weniger.
Könne bei Dir also heißen: [Fertig] - TIME([MZts],0,0)
Prüfe so etwas erst einmal mit Calc. Die Formeln müssten gleich sein. Beim ReportBuilder fehlt lediglich die Übersetzung.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

fraxinas
Beiträge: 5
Registriert: Mi 8. Jul 2015, 13:41

Re: Stunden von Datum abziehen

Beitrag von fraxinas » Mi 8. Jul 2015, 17:32

Hi Robert,

herzlichen Dank für deine prompte Antwort!
Also nachdem ich Semikolons statt Kommas genommen habe, funktionierte die TIME-Funktion zwar ;)
Allerdings rechnet sie leider genausolchen Schwachsinn:
ich habe jetzt als Formel [Fertig]-TIME([MZh];0;0)
bei MZh=72 kommt raus 06.07. 00:00
24: 06.07. 00:00
4: 05.07. 20:00
2: 05.07. 22:00

TIME([MZh];0;0) gibt halt für 72 und 24 jeweils 00:00 aus, auch mit [HH]:MM, d.h. das funktioniert auch nicht für mehr als 24h, und beim Subtrahieren scheint es die 16 Uhr von [Fertig] zu ignorieren und geht da auch von 00:00 aus, so ergeben sich 20 und 22 Uhr.

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Stunden von Datum abziehen

Beitrag von RobertG » Mi 8. Jul 2015, 19:32

Hallo fraxinas,

und was ist mit der Variante, einfach
[Fertig]-[MZh]/24
zu nehmen?
Die Zeiten werden ja intern als Nummern verwaltet. In Calc jedenfalls hat das gerade bei mir funktioniert.

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

fraxinas
Beiträge: 5
Registriert: Mi 8. Jul 2015, 13:41

Re: Stunden von Datum abziehen

Beitrag von fraxinas » Do 9. Jul 2015, 08:26

fröhliches rumprobieren ^^ dabei kommt raus
09.05.11 04:00
09.05.11 04:00
09.05.11 03:00
08.07.15 21:00

also bloß knapp über 4 jahre daneben :mrgreen:

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Stunden von Datum abziehen

Beitrag von RobertG » Do 9. Jul 2015, 12:14

Hallo fraxinas,

Veränderungen in der Jahreszahl oder auch nur um Tage kann ich hier nicht feststellen. Ich habe das jetzt direkt in Base nachgebaut. Es scheint, dass der Reportbuilder mit den Funktionen den Zeitwert aus einer Datums- und Zeitangabe nicht auslesen kann.

Folgende Ergebnisse mit der von mir vorgeschlagenen Formel habe ich:
09.07.2015 11:39:45 - 72/24 = 06.07.2015 00:00:00
09.07.2015 11:45:00 - 40/24 = 07.07.2015 08:00:00
Da wird also schlicht mit der Zeitangabe 00:00:00 gerechnet.

Dann habe ich einmal

Code: Alles auswählen

DATEVALUE([DatumZeit])+TIMEVALUE([DatumZeit])
sowie

Code: Alles auswählen

TIMEVALUE([DatumZeit])
laufen gelassen.

Beim ersteren bleiben die Nachkommastellen '0', bei der zweiten Funktion bleibt das Textfeld leer.

Da scheint es also Probleme mit der Zeitauslesung zu geben. Ich schaue mir das noch einmal etwas näher an und melde das gegebenenfalls als Bug.

Meine Version: LO 4.4.4.3, OpenSUSE 13.2 64bit rpm Linux

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

fraxinas
Beiträge: 5
Registriert: Mi 8. Jul 2015, 13:41

Re: Stunden von Datum abziehen

Beitrag von fraxinas » Do 9. Jul 2015, 13:22

Wow danke Robert, dass du dir all die Mühe gibst!

Ich arbeite hier mit:
4.3.6.2 Arch Linux build-3

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Stunden von Datum abziehen

Beitrag von RobertG » Do 9. Jul 2015, 16:08

Hallo fraxinas,

ich habe das jetzt einmal so weit hergestellt, dass eine Berechnung möglich ist. Irgendetwas läuft da allerdings bei der Zeitauslesung im ReportBuilder nicht korrekt. Das siehst Du im Bericht auch an den Zeitfeldern. Deshalb habe ich in einer Abfrage den Zeitwert der Datums-Zeitangabe ausgerechnet und damit weiter gearbeitet. Das scheint jetzt bei den Stunden, Minuten und Sekunden zu passen.

Den Bug gebe ich weiter - mal sehen, ob sich dafür jemand interessiert. Leider haben wir nur wenige Entwickler, die ein entsprechendes Interesse auch für Base aufbringen.

Nachtrag:
Die folgende Abfrage geht auch direkt. Über die Formatierung kann daraus dann ein DatumsZeitfeld gemacht werden:

Code: Alles auswählen

SELECT "ID", "Datum", "Zeit", "DatumZeit", "Zeitdiff", 
DATEDIFF('dd','1899-12-30', "DatumZeit") + HOUR( "DatumZeit" ) / 24.0000000000 + MINUTE( "DatumZeit" ) / ( 24.0000000000 * 60.0000000000 ) + SECOND( "DatumZeit" ) / ( 24.0000000000 * 60.0000000000 * 60.0000000000 ) AS "DatumsZeitwert", 
DATEDIFF('dd','1899-12-30', "DatumZeit") + HOUR( "DatumZeit" ) / 24.0000000000 + MINUTE( "DatumZeit" ) / ( 24.0000000000 * 60.0000000000 ) + SECOND( "DatumZeit" ) / ( 24.0000000000 * 60.0000000000 * 60.0000000000 ) - "Zeitdiff"/24 AS "DatumsZeitwert-Zeitdiff/24" FROM "Tabelle"
Das zeigt zuerst die Berechnung des Datumswertes als Differenz zum Datum, dass dem Startdatum mit '0' entspricht. Anschließend wird das Ganze noch einmal genutzt, um die entsprechende Berechnung zusammen mit dem Zeitwert durchzuführen. Vielleicht können in der ganzen Konstruktion ein paar Nachkommastellen herausgenommen werden - muss ich einmal schauen.
Es geht übrigens auch noch anders - siehe Anlage.

Gruß

Robert
Dateianhänge
DatumZeit_Berechnung.odb.zip
DateADD und TimeADD nachgebildet mit Hilfe von DATEDIFF und formatierten Feldern
(17.29 KiB) 130-mal heruntergeladen
Zuletzt geändert von RobertG am Do 9. Jul 2015, 22:12, insgesamt 1-mal geändert.
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

RobertG
* LO-Experte *
Beiträge: 2888
Registriert: Sa 19. Mai 2012, 17:37
Kontaktdaten:

Re: Stunden von Datum abziehen

Beitrag von RobertG » Do 9. Jul 2015, 17:26

Hallo fraxinas,

... ich habe das jetzt als Bug gemeldet:
https://bugs.documentfoundation.org/sho ... i?id=92654

Gruß

Robert
https://de.libreoffice.org/get-help/documentation/
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=base_handbuch
https://www.familiegrosskopf.de/robert/index.php?&Inhalt=xml_formulare

fraxinas
Beiträge: 5
Registriert: Mi 8. Jul 2015, 13:41

Re: Stunden von Datum abziehen

Beitrag von fraxinas » Fr 10. Jul 2015, 08:35

Spitzenmäßig!! Die Formel funktioniert grandios :)
Herzlichen Dank, Robert!


An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:


Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.



Antworten