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
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
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
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++ }
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.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden