Kolejne szkolenie u klienta i kolejne wyzwanie za mną...
Chodziło o wygenerowanie raportu czasu pracy z uwzględnieniem, że zmiana następuje o godz. 6:00 a nie o północy. To znaczy, że godziny do 6:00 powinny być jeszcze zaliczane do dnia poprzedniego.
Dodatkowym utrudnieniem u klienta był fakt, że data w bazie danych była rozbita na 2 pola:
- data w formacie: yyyy-mm-dd 00:00:00
- godzina w formacie: 1900-01-01 HH:mm
W takim razie do dzieła!
Załóżmy, że mamy następującą tabelę:
1. Tworzymy formułę która zamieni 2 osobne pola z datą i czasem w jedno pole typu datetime: W ten sposób otrzymamy jedną wartość w formacie yyyy-mm-dd HH:mm
2. Następnie od tak utworzonej daty odejmujemy 6 godzin:
Otrzymamy w rezultacie coś takiego: Kolumna WorkDate wyświetla datę do której została zakwalifikowana pozycja.
Na podstawie tak utworzonej formuły można utworzyć grupowanie na raporcie.
Komentarze