ME_KAR_VxT
Uniwersalna całka wyrażenia w czasie (moduł Media)

Składnia

ME_KAR_VxT(parKAR,parTM,parDataOd,parDataDo,parEV,parFlt,parParametry)

Parametry

parKAR

ID karty czynszowej lub zasobu (patrz parametr ZAS).

Jeżeli nie podano, to funkcja działa w sposób uniwersalny dla zadanego wyrażenia.

Jeżeli podano, to okres dat od-do jest ograniczany datami aktywności karty oraz możliwe jest stosowanie parametrów związanych z ryczałtem, tj. RYCZ i TYP.

parTM

Skala czasu (domyślnie M):

D - dziennie

T - tygodniowo

M - miesięcznie

K - kwartalnie

R - rocznie

(liczba dni) - w skali zadanej liczby dni

parDataOd, parDataDo

Data początkowa i końcowa, przedział domknięty.

parEV

Wyrażenie do ewaluacji.
Dodatkowe zmienne dostępne w wyrażeniu:

_DATA - data, na którą wyliczana jest wartość wyrażenia.

_ZAS - identyfikator zasobu.

_KAR - identyfikator karty.

parFlt

Filtr wyrażeniowy. Jeżeli nie jest spełniony, data zostaje pominięta. Tu również dostępne są argumenty _DATA, _ZAS i _KAR.

parParametry

paramString opisany niżej

zwraca

Wyliczona wartość.

parParametry

ZAS

Oznacza, że w parKAR podano ID zasobu, a nie karty. W takim przypadku dostępne są opcje ryczałtowe, ale okres nie jest zawężany.

REAL

Domyślnie wartości wyliczane są na typie stałoprzecinkowym DECIMAL wysokiej precyzji. W przypadku, gdy wyliczane wartości są przekłamane lub nieprawidłowe, można skorzystać z trybu liczenia na typie zmiennoprzecinkowym REAL.

RYCZ

Domyślnie 0.

0 - nie sprawdzaj ryczałtu

1 - tylko dni ryczałtowe

2 - tylko dni pozaryczałtowe

TYP

Typ mediów. Parametr ten musi być określony, jeżeli RYCZ=1 lub 2.

ZW/CW/CO/GAZ/EEL

SMPL

Częstość próbkowania wyrażenia. Domyślnie D.

D - codziennie

T - raz na tydzień

M - raz na miesiąc

K - raz na kwartał

R - raz na rok

(liczba dni) - co zadaną liczbę dni

SNUM

Znaczenie zależne od wartości parametru SMPL. Domyślnie 1.

D - nie dotyczy

T - dzień tygodnia (0 niedziela, 6 sobota)

M - dzień miesiąca (jeżeli liczba większa, niż liczba dni miesiąca, to ostatni dzień miesiąca)

K - dzień kwartału (jeżeli liczba większa, niż liczba dni kwartału, to ostatni dzień kwartału)

R - dzień roku (jeżeli liczba większa, niż liczba dni roku, to ostatni dzień roku)

(liczba dni) - dzień n-ty z kolei poczynając od 1

UP

Jeżeli ten parametr jest obecny, to podczas obliczeń funkcja wyświetla okno z paskiem postępu.

Opis

Funkcja w zamierzeniu zastępuje serię funkcji dostępnych we wzorach medialnych indywidualnych dotyczącą ilości miesięcy, osobo-miesięcy etc. Można tę funkcję stosować zarówno we wzorach medialnych, jak i w dowolnym innym miejscu.

Funkcja służy do wyliczania dyskretnej całki o kształcie WARTOŚĆ * CZAS, np. liczba osób miesięcznie w zakresie dat od-do.

Algorytm wyliczenia:

1. Wyznaczany jest okres - zakres dat ograniczony ewentualnie datami karty od-do.

2. Dla każdego dnia wyznaczana jest wartość zadanego wyrażenia, przy czym częstość próbkowania zależy od parametrów SMPL/SNUM. Parametrów SMPL/SNUM należy używać tylko w specyficznych przypadkach - albo wtedy, gdy zastosowane wyrażenie wymaga zbyt dużej mocy obliczeniowej, aby być wykonywane dla każdego dnia indywidualnie, albo wtedy, gdy celowo chcemy pomijać zmiany wewnątrz zadanej skali czasu parTM, tj. np. jeżeli chcemy wyliczać z dokładnością do miesiąca bez podziału proporcjonalnego miesiąca na krótsze okresy wynikające ze zmian stawek etc.

3. Wyliczana jest suma wartości w skali zadanego czasu parTM, gdzie skala czasu wyznaczana jest dla każdego dnia indywidualnie, np. w przypadku liczenia miesiecznego wartość skali wynosi 1/(liczba dni w danym miesiącu). Takie podejście do skali czasowej eliminuje zaokrąglenia wynikające z różnej długości miesięcy.


Przykłady

ME_KAR_VxT(KAR:ID_KART,'M',DATE(1,1,2018),DATE(12,31,2018),'DajDK(_KAR,1,_DATA)','','')
=> <Dana karty nr 1 miesięcznie w roku 2018. Jeżeli karta jest aktywna w całym zadanym okresie, zaś wartość danej w całym okresie jest niezmienna i wynosi 1, to wynikiem będzie liczba 12.>

ME_KAR_VxT(KAR:ID_KART,'K',DATE(1,1,2018),DATE(12,31,2018),'1','','SMPL=M|SNUM=1|RYCZ=1|TYP=ZW')
=> <Liczba kwartałów ryczałtowych karty dla typu mediów ZW z dokładnością do miesiąca próbkowana na każdy pierwszy dzień miesiąca.>

Zobacz również:

Rozliczanie zasobów

CalkaDzienna