Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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 :(

Geschrieben

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++

}

Geschrieben

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 :D ) zur Gemüte führen.

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...