Wochenanzahl berechnen
für meine Arbeistsstundenliste, in der ich täglich eintrage, wann und wie lange ich gearbeitet habe, brauch ich noch die möglichkeit, dass mir stets die aktuelle anzahl an vollständigen wochen angezeigt wird, die seit dem ersten eintrag vergangen sind ...
mit "zeitdauer" hab ich es bislang noch nicht hinbekommen ...
bitte um hilfe!
danke
6 Antworten
-
Hallo Astavakra. Wie definierst du die Vollständigkeit? Wenn die Datums in einem Jahr liegen dann ist die einfachste Möglichkeit
week(today())-week(DATUMSFELD DES LETZTEN EINTRAGS)
oder
days(DATUMSFELD DES LETZTEN EINTRAGS,today())/7
Aber wie gesagt man muss erst wissen wie die vollständige Woche definiert ist.Leo
-
vollständig meinte ich, dass eine woche nur dann gezählt wird, wenn sie kalendarisch abgeschlossen ist also den sonntag erreicht hat
es sollte nicht an ein jahr gebunden sein - also durchgängig vom ersten eintrag bis zum jeweils aktuellen
danke für die antwort
-
nachdem es der letzte fehlende punkt ist, bevor wir das beginnen können einzusetzen, mach ich es noch deutlicher ...
Hier sieht man, wie das aussieht - täglicher Eintrag der Arbeitszeiten ... jetzt fehlt eben nur noch die Berechnung des plus/minus-Standes der Stunden - heißt, wenn Mitarbeiter A mit zB 20 Stunden angestellt ist, muss zu jeder Zeit aktuell sichtbar sein, ob er mit den tatsächlichen Arbeitsstunden plus oder minus liegt
Dafür brauch ich halt die Berechnung der Tage oder Wochen vom ersten getätigten Eintrag ausgehend
danke nochmal
-
bin mir sicher, die meisten von euch schütteln da unmittelbar einen maxiaml 2-zeiligen Code aus dem Ärmel ... ich bin zu unbedarft ...
dank euch!
-
Hallo Astavakra, "den Sonntag erreicht" als Bedingung würde bedeuten, dass die Woche des ersten Eintrags auch mitgezählt würde, wenn er bspw. an einem Donnerstag vorgenommen wurde. Demnach könnt man einfach die seit dem ersten Eintrag vergangenen Sonntage zählen:
let myDates := (select 'Stunden Bernhard').Datum;
let myVon := min(myDates);
let myBis := max(myDates);
myVon := myVon + (6 - weekday(myVon));
let WCount := 0;
while myVon <= myBis do
WCount := WCount + 1;
myVon := myVon + 7
end;
WCount
-
thx a lot :)
Content aside
- vor 3 JahrenZuletzt aktiv
- 6Antworten
- 384Ansichten