Przeskocz do zawartości głównej

inlunarweek — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość true, jeśli wartość timestamp należy do tygodnia księżycowego zawierającego wartość base_date. Tygodnie księżycowe w QlikView są określane tak, że 1 stycznia jest uznawany za pierwszy dzień tygodnia.

Składnia:  

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

Typ zwracanych danych: wartość logiczna

Argumenty:  

Argumenty InLunarWeek
Argument Opis
timestamp Data, która ma być porównana z wartością base_date.
base_date Data używana do oceny tygodnia księżycowego.
period_no Tydzień księżycowy może zostać przesunięty o wartość period_no. period_no jest liczbą całkowitą, gdzie 0 oznacza tydzień księżycowy zawierający wartość base_date. Wartości ujemne parametru period_no oznaczają poprzednie tygodnie księżycowe, a wartości dodatnie — następne tygodnie księżycowe.
first_week_day Przesunięcie może być większe lub mniejsze od zera. Zmienia to początek roku o określoną liczbę dni lub części dnia.

Przykład 1:  

inlunarweek('12/01/2013', '14/01/2013', 0)

Zwraca wartość True. wartość timestamp, 12/01/2013 przypada w tygodniu od 08/01/2013 do 14/01/2013.

Przykład 2:  

inlunarweek('12/01/2013', '07/01/2013', 0)

Zwraca wartość False. base_date 07/01/2013 przypada w tygodniu księżycowym od 01/01/2013 do 07/01/2013.

Przykład 3:  

inlunarweek('12/01/2013', '14/01/2013', -1)

Zwraca wartość False. Określenie wartości period_no jako –1 powoduje przesunięcie tygodnia do poprzedniego tygodnia, od 01/01/2013 do 07/01/2013.

Przykład 4:  

inlunarweek('07/01/2013', '14/01/2013', -1)

Zwraca wartość True. W odróżnieniu od poprzedniego przykładu znacznik czasu przypada w tygodniu po uwzględnieniu przesunięcia do tyłu.

Przykład 5:  

inlunarweek('11/01/2006', '08/01/2006', 0, 3)

Zwraca wartość False. Określenie wartości first_week_day jako 3 oznacza, że początek roku jest obliczany od 04/01/2013, a zatem wartość base_date przypada w pierwszym tygodniu, a wartość timestamp przypada w tygodniu od 11/01/2013 do 17/01/2013.

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.

W tym przykładzie sprawdzane jest, czy data faktury przypada w tygodniu przesuniętym z wartości base_date o cztery tygodnie.

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

InLunarWeek(InvDate, '11/01/2013', 4) AS InLWeekPlus4

Resident TempTable;

Drop table TempTable;

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

Funkcja zwraca True dla wartości InvDate5/2/2013, ponieważ wartość base_date, 11/01/2013, jest przesunięta o cztery tygodnie, a więc przypada w tygodniu od 5/02/2013 do 11/02/2013.

Wyniki przykładu 6
InvDate InLWeekPlus4
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