Przeskocz do zawartości głównej

inyeartodate — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość True, jeśli wartość timestamp należy do części roku zawierającego wartość base_date, z dokładnością do ostatniej milisekundy wartości base_date włącznie.

Składnia:  

InYearToDate (timestamp, base_date, period_no[, first_month_of_year])

Typ zwracanych danych: wartość logiczna

Argumenty:  

Argumenty InYearToDate
Argument Opis
timestamp Data, która ma być porównana z wartością base_date.
base_date Data używana do oceny roku.
period_no Rok może zostać przesunięty o wartość period_no. period_no jest liczbą całkowitą, gdzie 0 oznacza rok zawierający wartość base_date. Wartości ujemne parametru period_no oznaczają lata poprzednie, a wartości dodatnie — lata następne.
first_month_of_year Jeśli użytkownik zamierza korzystać z lat (obrotowych), które nie zaczynają się w styczniu, powinien wskazać wartość od 2 do 12 jako parametr first_month_of_year.

Przykład 1:  

inyeartodate ('2013/01/25', '2013/02/01', 0)

Zwraca wartość True

Przykład 2:  

inyeartodate ('2012/01/25', '2013/01/01', 0)

Zwraca wartość False

Przykład 3:  

inyeartodate ('2012/01/25', '2013/02/01', -1)

Zwraca wartość True

Przykład 4:  

inyeartodate ('2012/11/25', '2013/01/31', 0, 4)

Zwraca wartość True
Wartość timestamp przypada w roku obrotowym zaczynającym się w czwartym miesiącu, przed wartością base_date.

Przykład 5:  

inyeartodate ( '2013/3/31', '2013/01/31', 0, 4 )

Zwraca wartość False
W porównaniu z poprzednim przykładem wartość timestamp wciąż mieści się w roku obrotowym, ale jest po wartości base_date, dlatego przypada poza częścią roku.

Przykład 6:  

Dodaj przykładowy skrypt do dokumentu i uruchom go. Następnie dodaj do arkusza w swoim dokumencie co najmniej pola wyszczególnione w kolumnie wyników, aby wyświetlić wynik.

Na tym przykładzie sprawdzane jest, czy data faktury przypada w roku obrotowym określonym przez ustawienie wartości first_month_of_year na 4, oraz w części roku przed końcem 31/01/2013.

TempTable:

LOAD RecNo() as InvID, * Inline [

InvDate

28/03/2012

10/12/2012

5/2/2013

31/3/2013

19/5/2013

15/9/2013

11/12/2013

2/3/2014

14/5/2014

13/6/2014

7/7/2014

4/8/2014

];

 

InvoiceData:

LOAD *,

InYearToDate(InvDate, '31/01/2013', 0, 4) AS FinYr2Date

Resident TempTable;

Drop table TempTable;

Otrzymana tabela zawiera pierwotne daty i kolumnę ze zwracaną wartością funkcji inyeartodate().

Wyniki przykładu 6
InvDate FinYr2Date
28/03/2012 0 (False)
10/12/2012 -1 (True)
5/2/2013 0 (False)
31/3/2013 0 (False)
19/5/2013 0 (False)
15/9/2013 0 (False)
11/12/2013 0 (False)
2/3/2014 0 (False)
14/5/2014 0 (False)
13/6/2014 0 (False)
7/7/2014 0 (False)
4/8/2014 0 (False)

Czy ta strona była pomocna?

Jeżeli natkniesz się na problemy z tą stroną lub jej zawartością — literówkę, brakujący krok lub błąd techniczny — daj nam znać, co możemy poprawić!

Dołącz do Programu Modernizacji Analityki

Remove banner from view

Przeprowadź modernizację bez szkody dla Twoich cennych aplikacji QlikView za pomocą programu Analytics Modernization Program. Kliknij tutaj aby uzyskać więcej informacji lub skontaktuj się z nami: ampquestions@qlik.com