LadyPreis Geschrieben 12. Januar 2010 Geschrieben 12. Januar 2010 Hallo zusammen, mal wieder eine Sache, bei der ich nicht weiterkomme ;-) Folgender Sachverhalt: Ich hab eine interne Tabelle mit Daten gefüllt. Diese Daten sind aufsteigend sortiert (nach Spalte "Datum"). Die Werte dabei können wochen-und monatsübergreifend sein. Ich möchte nun herausfinden, ob zu jeder darin enthaltenen kaldenderwoche für jeden Werktag mindestens ein Datensatz vorhanden ist. Finde dabei aber keine Ansatz. Habt ihr ne Idee? Hier nochmal zur Verdeutlichung: Bsp.. für Daten in der Tabelle: 11.01.2010 12.01.2010 13.01.2010 14.01.2010 15.01.2010 15.01.2010 18.01.2010 19.01.2010 20.01.2010 21.01.2010 hier müsste ich nun feststellen, dass zu der 2.ten Woche ein Datensatz fehlt (22.01.2010) Hoffe, ihr könnt mir helfen Gruß, Die Lady Zitieren
konsti4u Geschrieben 12. Januar 2010 Geschrieben 12. Januar 2010 Naja, du müsstest denke ich einen algorithmus schreiben, welcher zu jedem Datum (Kalenderwoche) den Wochentag berechnet und von diesem aus, wenn du z.b weißt es war ein Mittwoch, 2 Tage zurückgehst, wobei du dann natürlich wenn du "0" erreichst den Monat um eins verringerst und mit dem entsprechendem Maximaldatum des Vormonats fortfährst, ebenso wenn du nach vorne schaust und das Maximaldatum des zu prüfenden Monats überschreitest... Gibt halt einige Sonderfälle... Das wäre meine intuitive Lösung, wie viele Tage ein Monat hat ist leicht über den gregorianischen Kalender zu errechnen Zitieren
LadyPreis Geschrieben 13. Januar 2010 Autor Geschrieben 13. Januar 2010 Die Werte zu den einzelnen Daten hab ich dank der Funktionsbausteine "DATE_GET_WEEK" und "DAY_IN_WEEK" schon. Allerdings dachte ich, es gibt eine elegantere Art, als in Schleifen rumzuspielen und mir Variablen zu stezen, dass der und der Tag vorhanden ist Zitieren
VaNaTiC Geschrieben 13. Januar 2010 Geschrieben 13. Januar 2010 Werktage sind keine IT-genormte Bezeichnung. Was ist mit gesetzlichen Feiertagen in Bundesländern? Wenn Du Dir eine Liste mit distinct Datum (max 1 Datensatz pro Datum) zurückgeben lassen kannst, könnstest Du einfach in einer Schleife die Anzahl der Tage pro KW hochzählen. Das ginge sogar mit einem KW-Merker und einer Anzahl nach dem Motto: Pseudo-Code: KWmerker = -1 Tage = 0 schleife über alle Datensätze/Array { kw = DATE_GET_WEEK(Array[Datumsfeld]) wenn KWmerker == -1 dann KWmerker = kw wenn kw != KWmerker dann // neue KW { wenn Tage < 5 dann "in KW "+KWmerker+" fehlen "+5(-Tage)+" Datensätze" KWmerker = kw Tage = 0 } Tage++ } Zitieren
LadyPreis Geschrieben 13. Januar 2010 Autor Geschrieben 13. Januar 2010 bei dem wort "werktag" meinte ich auch nur die normalen Tage Mo-Fr. Ging mir also nicht darum feiertage, Ferien,... abzufangen. Aber danke schonmal für den Lösungssvorschlag. Werde ihn mir mal (aber nicht mehr heute ) zur Gemüte führen. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.