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
Seite 1 von 3  1 23      
MatthiasK

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

zeitintervall abfrage

  Alt 16. Dez 2015, 12:45
Datenbank: Firebird • Version: 2.5 • Zugriff über: Zeos
Moin,

bei meinem Wiedereinstieg in die Programmierung häng ich erwartungsgemäß an einem Problem fest.

und zwar hab ich mir aus meiner datenbank per query eine Datenmenge gezogen, welche ich nun systematisch durchgehen will, um halt meinen Mist damit zu machen.

Und zwar liefert mir die DB ein Feld mit, welches ein TimeStamp ist. ich möchte herausfinden, wieviele Datensätze Pro stunde an dem Tag in die DB geschrieben wurden und das Stundenweise in der vollen Stunde, bishin zur letzten Stunde, also Datnsatz dieses Tages.

Erschwerend kommt hinzu, das ich Pausen in der Tabelle in der jeweiligen Stunde finden muss, welche größer als 10 Minuten sind. Und das muss dan entsprechend ausgewertet werden als produktivzeit und Unproduktiv.

also angenommen, ich habe folgende ergebnisse:
16.12.2015 7:33
16.12.2015 7:33
16.12.2015 7:34
16.12.2015 7:36
16.12.2015 7:48
16.12.2015 7:48
16.12.2015 7:48
16.12.2015 7:49
16.12.2015 7:50
16.12.2015 7:53

als Ergebniss müsste dann kommen:
Begin Arbeitszeit 7:33
Arbeitszeit Stunde 7: 27 Minuten
Produktivzeit Stunde 7: 15 Minuten
Unproduktivzeit Stunde 7: 12 Minuten

Und das halt für jede Stunde des Tages, welcher in den Ergebnissen ist.
geordnet sind die datensätze über den Zeitstempel.

Mein Gedankengang war folgender: per findfirst auf den ersten Ds, per HourOf die stunde rausfinden. Aber wie geh ich weiter vor? Ist das überhaupt sinnvoll?
Matthias
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman
Online

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.387 Beiträge
 
Delphi 12 Athens
 
#2

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 12:49
Moin...
Zitat:
wieviele Datensätze Pro stunde an dem Tag in die DB geschrieben wurden
Wer schreibt die rein? Wie ist der Timestamp zu interpretieren? Durch welchen Algorithmus trennst du produktiv und unproduktiv?
Merkst du? Ich habe es nicht wirklich verstanden wie du das meinst bzw. was das Ergenbis sein soll...
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#3

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 13:03
als Ergebniss müsste dann kommen:
Begin Arbeitszeit 7:33
Arbeitszeit Stunde 7: 27 Minuten
Produktivzeit Stunde 7: 15 Minuten
Unproduktivzeit Stunde 7: 12 Minuten
Alleine hierbei kräuseln sich mit die Zehennägel.
Wenn die erste in der DB protokollierte Aktion um 7:33 Uhr statt fand, heißt das noch längst nicht, das die Arbeitszeit zu diesem Zeitpunkt begann. Ebenso scheint mir die Aufteilung in Produktiv und Unproduktiv sagen wir mal willkürlich zu sein.
Ein böser Mensch würde da jetzt im Hintergrund eine Batchdatei installieren, die alle 53 Sekunden ein und den selben Datensatz mit einer Änderung abspeichert. Das ist Fleiß, der eine enorme Unproduktivität nach sich zieht.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 13:13
Ich würde wenn möglich die Datenbankstruktur ändern bzw. eine automatische Überführung der Daten durchführen (einmalig + fortlaufend Trigger) welche die Daten dann in eine (brauchbare und) auswertbare Form bringt.
Markus Kinzler
  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:06
ok, etwas unglücklich formuliert mit der Arbeitszeit.

an der DB kann ich nix ändern, ich bekomm die so als auszug. Das ist keine Auswertung, welche einen Mitarbeiter überwacht. es geht im speziellen darum, das "unproduktive zeiten" ortswechsel sind. die datensätze werden von einem messegrät geliefert und die häufigkeit ist relativ.

mit arbeitszeitbeginn meinte ich begin der messungen. arbeitszeit begin ist immer gleich für die MA.

theoretisch kann ich mir ne dummy db anlegen, und darin die daten aufschlüsseln. aber ich bin einfach auch schon ne weile raus und häng halt da an einer blockade.

Wie könnte ich das sinnvoll lösen, ohne die struktur der db anfassen zu müssen?

was ist gemeint mit: "wie ist der timestamp zu interpretieren?"?
Ich habe (noch?) keinen algorythmus... ich wüsste auch nicht gleich auf anhieb, wie ich sowas realisieren kann.
Matthias
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 14:15
An einem (einzigen) Timestamp kannst Du ja nicht sehen, was er bedeutet (Anfang Produktivphase oder Ende Produktivphase=Beginn Pause). Dies ergibt sich nur im Kontext aller Datensätze eines Tages ( Anmeldung/Abmeldung alternierend).
Deshalb birgt eine Betrachtung der Werte einer Stunde ein hohes Risiko komplett falsch zu sein ( Produktivphasen und Pausen vertauscht).
Markus Kinzler
  Mit Zitat antworten Zitat
MatthiasK

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

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 14: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.736 Beiträge
 
Delphi 6 Enterprise
 
#8

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 15: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
 
#9

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 15: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
 
#10

AW: zeitintervall abfrage

  Alt 16. Dez 2015, 15: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
Antwort Antwort
Seite 1 von 3  1 23      


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 07:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz