Zum Inhalt springen

Berechnung mit Zeiten ohne negative Ergebnisse


Arman Kassaie
Gehe zur Lösung Gelöst von Moritz,

Empfohlene Beiträge

Hallo liebe SmapOne-Community,

Ich möchte die Zeitdauer zwischen zwei Ereignissen berechnen. Mein Problem ist, dass beim Berechnen der Dauer negative Werte rauskommen.

Ich habe meinen Fall mal in u.s. Beispiel nachgebaut.

Bei "Ende der Arbeitszeit" und "Beginn der Störung" gibt es nur die Eingabeoption "Uhrzeit". Die berechnete Dauer ergibt sich dann aus der Differenz zwischen dem Beginn der Störung und dem Ende der Arbeitszeit.

Ich verstehe, dass in diesem Beispiel 4:00 Uhr - 20:00 Uhr = -16:00 Uhr ergibt. Ich suche nach einer Lösung, damit das Ergebnis 8:00 Uhr, also stets ein positives, ist.

Ich weiß, dass die zusätzliche Eingabe des Datums das Problem auch lösen würde, aber leider hilft mir das bei meinem Fall nicht weiter, da es dann an anderer Stelle in der Smap zu Problemen kommen würde.

Vielleicht hatte jemand ja schonmal ein ähnliches Problem und kann mir dabei weiterhelfen - Ich würde mich jedenfalls sehr freuen ☺️

Viele Grüße

Arman

SmapOne_Zeitdauer_Dummy.PNG

Link zu diesem Kommentar
Auf anderen Seiten teilen

vor einer Stunde schrieb Arman Kassaie:

Ich weiß, dass die zusätzliche Eingabe des Datums das Problem auch lösen würde, aber leider hilft mir das bei meinem Fall nicht weiter, da es dann an anderer Stelle in der Smap zu Problemen kommen würde.

Hallo @Arman Kassaie

das habe ich nicht ganz verstanden. 
Von deiner Beschreibung her zielt deine Anforderung doch auf das richtige Ergebnis, für eine Weiterverarbeitung. Zumindest interpretiere ich es so.

Hier die Erklärung warum das so ist:
Hinweis: Wird von einem Wert vom Typ Datumzeit ein reines Datum abgezogen, so wird für dieses Datum eine Uhrzeit von 0:00 angenommen. Wird von einer Datumzeit-Angabe eine Zeit abgezogen, so wird angenommen, dass sich diese Zeit auf dasselbe Datum bezieht.

Was wären das für Probleme? 
Vielleicht kann man deine Anforderung ganzheitlicher betrachten und analysieren um eine Lösung überlegen zu können.

Viele Grüße
Bülent

  • Zustimmung 1
  • Danke 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

  • Lösung

@Arman Kassaie du könntest das Ergebnis darauf prüfen, ob es negativ ist. In dem Fall kannst du dann einfach einen ganzen Tag auf deinen Zeitraum aufschlagen, dann erhältst du den richtigen Wert, auch wenn die Uhrzeiten über die Mitternacht hinausgehen:

IF(LESSTHAN(TOTALHOURS(SUB_DATE({Beginn_Stoerung}, {Ende_Arbeit})), 0), ADD_PERIOD(SUB_DATE({Beginn_Stoerung}, {Ende_Arbeit}), P1D), SUB_DATE({Beginn_Stoerung}, {Ende_Arbeit}))

 

Mit LESSTHAN(TOTALHOURS()) prüfst du erstmal, ob die Anzahl der Stunden negativ ist. Wenn das der Fall ist, dann wird die Dauer zwischen den Eregnissen berechnet und per ADD_PERIOD() ein Tag ("P1D") addiert.

Ich habe das ganze einmal in eine Beispielsmap mit Zwischenschritten gepackt, damit das einfach nachvollzogen werden kann (Link gültig bis 06.10.2026): https://platform.smapone.com/ImportSharedApp/71fae9c8-764e-415f-af95-b2eb0acb3092/307a46a9a4c07065402a1898198a28b92308fb71?lang=de

  • Danke 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Vielen Dank erstmal für eure schnelle Hilfe!

@Bülent Erbas  ich war der Meinung, dass das bei der späteren Berechnung mit "Greaterthan" oder "Smallerthan" zu Problemen kommt, aber ich kann den Fehler nicht reproduzieren und es scheint jetzt alles inkl. der Datumsangabe zu funktionieren - Danke!

@Moritz: da Bülents Vorschlag funktioniert, gehe ich erstmal damit. Falls es dennoch zu Problemen kommen sollte, würde ich nochmal deinen Vorschlag ausprobieren ☺️

  • Like 2
Link zu diesem Kommentar
Auf anderen Seiten teilen

Nachdem ich den ganzen Tag an der Smap weitergebastelt habe, muss ich doch nochmal zurückrudern. Mir ist wieder eingefallen, warum der Vorschlag von @Bülent Erbas für meinen Anwendungsfall eher umständlich ist.

Das erste Bild zeigt die Smap mit den Datums- und Zeitauswahlfeldern nur mit der Zeitauswahl an. Ich muss in der Smap im späteren Verlauf häufiger einen Zeitabgleich machen (siehe Formel). Da das (meines Wissens) nicht ganz einfach funktioniert, wandle ich die Uhrzeit in einen Text um und Vergleiche sie anschließend mit der Vergleichszeit. Ein Zeitraumergebnis-Feld ist hier auch nicht nützlich, da teilweise auch Sätze oder Wörter in einigen Fällen zurückgegeben werden sollen.

Im zweiten Beispiels habe ich den Vorschlag von Bülent einmal beispielhaft nachgebaut und die Felder mit dem Datum und der Uhrzeit versehen. Theoretisch würde auch dieser Weg zum Ziel führen, wenn ich jedes mal die SUBTEXT()-Funktion nutzen würde, aber dann werden die ohne schon teilweise unübersichtlichen Funktionen nur noch unübersichtlicher. Zudem brauche ich das Datum eigentlich auch gar nicht und es wären nur zusätzliche eingaben.

Also zur Lösung: @Moritz-Vorschlag funktioniert exakt wie ich es brauchte ☺️. So spart sich der User auch noch ein paar Eingaben. Also konnte das Problem trotzdem gelöst werden. 

SmapOne_Zeitdauer_Dummy2.PNG

SmapOne_Zeitdauer_Dummy3.PNG

  • Like 2
  • Danke 1
Link zu diesem Kommentar
Auf anderen Seiten teilen

Bitte melde Dich an, um einen Kommentar zu hinterlassen

Du kannst nach der Anmeldung einen Kommentar hinterlassen



Jetzt anmelden
×
×
  • Neu erstellen...