Przeskocz do zawartości głównej

inmonths — funkcja skryptu i funkcja wykresu

Ta funkcja wykrywa, czy znacznik czasu przypada w tym samym miesiącu bądź okresie dwu-, trzy- lub czteromiesięcznym albo półrocznym co data bazowa. Można także wyszukać, czy znacznik czasu przypada w okresie poprzednim lub następnym.

Składnia:  

InMonths(n_months, timestamp, base_date, period_no [, first_month_of_year])

Typ zwracanych danych: wartość logiczna

Argumenty:  

Argumenty InMonths
Argument Opis
n_months

Liczba miesięcy określająca okres. Liczba całkowita lub wyrażenie, którego wynikiem jest liczba całkowita, która musi przyjmować jedną z następujących wartości: 1 (odpowiednik funkcji inmonth()), 2 (okres dwumiesięczny), 3 (odpowiednik funkcji inquarter()), 4 (okres czteromiesięczny) lub 6 (półrocze).

timestamp Data, która ma być porównana z wartością base_date.
base_date Data używana do oceny okresu.
period_no

Okres może być przesunięty o wartość period_no — liczbę całkowitą lub wyrażenie, którego wynikiem jest liczba całkowita, gdzie wartość 0 wskazuje dzień zawierający wartość base_date. Wartości ujemne parametru period_no oznaczają okresy poprzednie, a wartości dodatnie — okresy 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łady i wyniki:  

W tych przykładach należy użyć formatu daty DD/MM/RRRR. Format daty jest określony w instrukcji SET DateFormat u góry skryptu ładowania. Zmień format w przykładach odpowiednio do swoich potrzeb.

Przykład 1:  

inmonths(4, '25/01/2013', '25/04/2013', 0)

Zwraca wartość True. Ponieważ wartość timestamp, 25/01/2013, przypada w obrębie czteromiesięcznego okresu od 01/01/2013 do 30/04/2013, który zawiera wartość base_date, 25/04/2013.

Przykład 2:  

inmonths(4, '25/05/2013', '25/04/2013', 0)

Zwraca wartość False. Ponieważ data 25/05/2013 przypada poza tym samym okresem co poprzedni przykład.

Przykład 3:  

inmonths(4, '25/11/2012', '01/02/2013', -1 )

Zwraca wartość True. Ponieważ wartość period_no, -1, powoduje przesunięcie okresu wyszukiwania w tył o jeden okres czterech miesięcy (wartość n-months), przez co okres wyszukiwania przypada od 01/09/2012 do 31/12/2012.

Przykład 4:  

inmonths( 4, '25/05/2006', '01/03/2006', 0, 3)

Zwraca wartość True. Ponieważ wartość first_month_of_year jest ustawiona na 3, przez co okres wyszukiwania przypada od 01/03/2006 do 30/07/2006, nie od 01/01/2006 do 30/04/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 w tabeli przypada w dwumiesięcznym okresie obejmującym datę base_date, przesuniętym w przód o jeden dwumiesięczny okres (poprzez określenie period_no jako 1).

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

InMonths(2, InvDate, '11/02/2013', 1) AS InMthsPlus1

Resident TempTable;

Drop table TempTable;

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

Okres wyszukiwania przypada od 01/03/2013 do 30/04/2013, ponieważ wartość base_date jest przesunięta do przodu o dwa miesiące względem wartości w funkcji (11/02/2013).

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