Przeskocz do zawartości głównej

inweektodate — funkcja skryptu i funkcja wykresu

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

Składnia:  

InWeekToDate (timestamp, base_date, period_no [, first_week_day])

Typ zwracanych danych: wartość logiczna

Argumenty:  

Argumenty InWeekToDate
Argument Opis
timestamp Data, która ma być porównana z wartością base_date.
base_date Data używana do oceny tygodnia.
period_no Tydzień może zostać przesunięty o wartość period_no. period_no jest liczbą całkowitą, gdzie 0 oznacza tydzień zawierający wartość base_date. Wartości ujemne parametru period_no oznaczają tygodnie poprzednie, a wartości dodatnie — tygodnie następne.
first_week_day

Domyślnie pierwszym dniem tygodnia jest poniedziałek zaczynający się o północy między niedzielą a poniedziałkiem. Aby wskazać, że tydzień zaczyna się innego dnia, należy określić przesunięcie w parametrze first_week_day. Wartość tę można określić jako liczbę całkowitą, która oznacza całe dni lub części dni.

Przykład 1:  

inweektodate ('12/01/2006', '12/01/2006', 0)

Zwraca wartość True

Przykład 2:  

inweektodate ('12/01/2006', '11/01/2006', 0)

Zwraca wartość False

Przykład 3:  

inweektodate ('12/01/2006', '18/01/2006', -1)

Zwraca wartość False
Ponieważ period_no określono jako -1, dlatego data obowiązywania, względem której mierzy się wartość timestamp, przypada 11/01/2006.

Przykład 4:  

inweektodate ( '11/01/2006', '12/01/2006', 0, 3 )

Zwraca wartość False
Ponieważ wartość first_week_day określono jako 3 (czwartek), przez co 12/01/2006 staje się pierwszym dniem tygodnia po tygodniu zawierającym 12/01/2006.

Przykład 5:  

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.

W tym przykładzie sprawdzane jest, czy data faktury przypada w dowolnym momencie w czwartym tygodniu po tygodniu w polu base_date, przez określenie wartości period_no jako 4, ale przed wartością base_date.

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 *,

InWeekToDate(InvDate, '11/01/2013', 4) AS InWeek2DPlus4

Resident TempTable;

Drop table TempTable;

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

Wyniki przykładu 5
InvDate InWeek2DPlus4
28/03/2012 0 (False)
10/12/2012 0 (False)
5/2/2013 -1 (True)
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