AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

zeitintervall abfrage

Ein Thema von MatthiasK · begonnen am 16. Dez 2015 · letzter Beitrag vom 17. Dez 2015
Antwort Antwort
MatthiasK

Registriert seit: 20. Nov 2015
Ort: Sachsen
19 Beiträge
 
Delphi 7 Personal
 
#1

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 13:27
hm, ich verstehe.

Aber irgendwie sollte dies doch zu schaffen sein. gedanklich kann ich ja die pausen auch per blick auf die daten finden. also sollte dies auch per programm möglich sein. mir ist die ganze zeit, als würde ich irgendwas übersehen bzw. nicht so richtig bedenken. mir liegt die auswertung sozusagen auf der zunge.

irgendwie kotzt mich das grad an...
Matthias
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#2

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 14:02
gedanklich kann ich ja die pausen auch per blick auf die daten finden.
Echt? Ich nicht. Ich weiß nicht, wie du aus den gegebenen Daten Pausen usw. ausliest. Wie kommst du auf:

Begin Arbeitszeit 7:33
Arbeitszeit Stunde 7: 27 Minuten
Produktivzeit Stunde 7: 15 Minuten
Unproduktivzeit Stunde 7: 12 Minuten
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von baumina
baumina

Registriert seit: 5. Mai 2008
Ort: Oberschwaben
1.275 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 14:14
gedanklich kann ich ja die pausen auch per blick auf die daten finden.
Echt? Ich nicht. Ich weiß nicht, wie du aus den gegebenen Daten Pausen usw. ausliest. Wie kommst du auf:

Begin Arbeitszeit 7:33
Arbeitszeit Stunde 7: 27 Minuten
Produktivzeit Stunde 7: 15 Minuten
Unproduktivzeit Stunde 7: 12 Minuten
Man muss es anders lesen, hab auch ne Weile gebraucht, dann ist es eine Art Gruppenwechsel.

Begin Arbeitszeit = 7:33 Uhr
Arbeitszeit in Stunde 7 entspricht 27 Minuten
Produktivzeit in Stunde 7 entspricht 15 Minuten
Unproduktivzeit in Stunde 7 entspricht 12 Minuten
Hinter dir gehts abwärts und vor dir steil bergauf ! (Wolfgang Ambros)
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#4

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 14:21
Man muss es anders lesen, hab auch ne Weile gebraucht, dann ist es eine Art Gruppenwechsel.

Begin Arbeitszeit = 7:33 Uhr
Arbeitszeit in Stunde 7 entspricht 27 Minuten
Produktivzeit in Stunde 7 entspricht 15 Minuten
Unproduktivzeit in Stunde 7 entspricht 12 Minuten
So hab ich das auch interpretiert. Mit SQL wäre es wohl relativ harmlos über Window Functions. Aber die gibt's erst in fb 3.0.

Was mir noch fehlt ist der "Datenrahmen". Also was kommt vor 7.33 und nach 7:53? Und welche Intervalle werden generell abgefragt? Immer nur ein bestimmter Tag?
Gruß, Jo
  Mit Zitat antworten Zitat
MatthiasK

Registriert seit: 20. Nov 2015
Ort: Sachsen
19 Beiträge
 
Delphi 7 Personal
 
#5

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 14:29
ja, die abfrage erfolgt per datum, also nur meinetwegen der 16.12.2015

der order by befehl auf den timestamp gibt ja ne ordentliche chronologische sortierung zurück.

damit ist der erste datensatz auch der zeitigste. also ist dies als beginn zu sehen.
wenn der nächste datensatz unter 10 min unterschied ist, is alles ok und es geht mit dem nächsten ds weiter. immer im vergleich zum vorigen. eine pause entsteht also erst, wenn zwischen 2 Datensätzen eine zeitspanne von über 10 minuten entsteht.

Nachtrag:
natürlich kommen nach 7.53 uhr noch weiter stunden mit x Datensätzen. Aber es muss ja stundenweise zur vollen stunde die auswertung erfolgen.
Matthias

Geändert von MatthiasK (16. Dez 2015 um 14:31 Uhr) Grund: nachtrag...
  Mit Zitat antworten Zitat
Perlsau
(Gast)

n/a Beiträge
 
#6

Konzeptvorschlag

  Alt 16. Dez 2015, 15:08
  1. Erst mal den betreffenden Tag selektieren: Select * from Datensaetze where Datum = '16.12.2015';
  2. Dann für jede Stunde einen Filter setzen: Query.Filter := 'Zeit >= ' + QuotedStr(TimeToStr(StundeStart) ' and Zeit < ' + QuotedStr(TimeToStr(StundeEnde)); ... wobei für StundeStart und StundeEnde jeweils die TTime-Variablen StundeStart und StundeEnde auf z.B. 07:00:00 und 08:00:00 gesetzt und mit System.DateUtils.IncHour nach jedem Durchlauf erhöht werden.
  3. Nun für jede Stunde die Zeiten zwischen den Timestamps mit System.DateUtils.SecondsBetween ermitteln.
  4. Wenn Result > 600 (60 sec. x 10), dann Treffer.
  Mit Zitat antworten Zitat
jobo

Registriert seit: 29. Nov 2010
3.072 Beiträge
 
Delphi 2010 Enterprise
 
#7

AW: Konzeptvorschlag

  Alt 16. Dez 2015, 15:21
Nun für jede Stunde die Zeiten zwischen den Timestamps mit System.DateUtils.SecondsBetween ermitteln.[*]Wenn Result > 600 (60 sec. x 10), dann Treffer.
Mit dem Verfahren würden aber Pausen an den Stundengrenzen und auch darüber hinaus nicht gefunden.
Hier allerdings aber auch nicht klar, was der TO da haben will. Wenn also Timestamps bei 7:53 und 8:09 liegen.
Wird das gewertet? Zu welcher Stunde?
Gruß, Jo
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz