Funkcja DJT
DJT
DJT jest funkcją zwracającą iloczyn wybranych jednostek, przez jednostki czasu dla podanej karty i przy założeniu spełnienia danego warunku.
Jednostki czasu wybierane są spośród czterech możliwości - dzień, miesiąc, kwartał lub rok.
Składnia funkcji DJT:
Prototyp: DJT('K/Z',id_danej,'D/M/K/R',warunek)
'K/Z' - dana karty/dana zasobu
id_danej - id danej zasobu lub karty
'D/M/K/R' - dzień/miesiąc/kwartał/rok
warunek - warunek
Definiowanie warunków:
Funkcja DJT daje rozbudowane możliwości definiowania warunków, które muszą być spełnione, aby wartość danej zasobu lub karty mogła być dodana do wyniku. W zakresie dat obejmujących rozliczenie wyszukiwane są odcinki czasu, w których podany warunek jest spełniony.
W definicji warunku dozwolone jest używanie czterech funkcji:
- DZ(''ZAS:pole'') - zwraca wartość danej zasobu (stałej)
- DK(''KAR:pole'') - zwraca wartość danej karty (stałej)
- DDZ(id_danej_kar) - zwraca wartość danej zasobu (dynamicznej)
- DDK(id_danej_zas) - zwraca wartość danej karty (dynamicznej)
Przykład 1: DJT('K',1,'M','DDZ(2)=''1''')
Użycie powyższej funkcji w rozliczeniu zwróci dla każdej karty iloczyn wartości danej karty o id=1 i długości okresu, we wszystkich okresach, w których dana zasobu o id=2 będzie miała wartość 1. Wynik podany będzie w jednostkomiesiącach.
W konkretnym przypadku może to być ilość osobomiesięcy (dana o id=1 to liczba osób) w okresach ryczałtowych ZW (dana zasobu o id=2 to informacja "Jak liczyć ZW").
Przykład 2: DJT('K',1,'M','DZ(''ZAS:kondygnacja'')>0')
Przykład drugi prezentuje rozwiązanie umożliwiające wyliczenie dla każdej karty opłaty za windę. Pod warunkiem, że wartość w polu kondygnacja jest większa od zera (mieszkający na parterze nie płacą), obliczana jest ilość osobomiesięcy na karcie.
Funkcja DJT oblicza wszystkie wartości z uwzględnieniem zmian wartości w dowolnej kombinacji danych dynamicznych karty i zasobu.
Jeżeli id danej podane w drugim parametrze funkcji otrzyma wartość zero, zwrócona zostanie liczba dni, miesięcy, kwartałów lub lat w okresach spełniających warunek.
W przypadku podania pustego warunku zakłada się, że jest on spełniony w całym rozliczanym okresie (uwzględniając okres aktywności karty).
Należy zwrócić uwagę na fakt, iż funkcja DJT oblicza podane wartości i zwraca wynik z pewnym przybliżeniem.
Wynik dokładny otrzymuje się zawsze przy wykonywaniu obliczeń z dokładnością co do dnia (wartość trzeciego parametru funkcji równa 'D'). W przypadku obliczania jednostek w miesiącach wynik jest zaokrąglany do tygodni czyli zwracany z dokładnością do 0.25. Oznacza to, że dwie karty - każda z jednym lokatorem - aktywne odpowiednio 13 i 15 dni zwrócą ten sam wynik - 0.5 osobomiesiąca.
W przypadku zwracania wyników z dokładnością kwartalną, stosowane jest przybliżenie miesięczne, czyli do 1/3 długości kwartału.
Wynik zwracany w latach daje podobnie jak kwartał dokładność miesięczną, czyli 1/12.