Przeskocz do zawartości głównej

monthsend — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość odpowiadającą znacznikowi czasu ostatniej milisekundy okresu miesiąca, dwóch miesięcy, kwartału, okresu czteromiesięcznego lub półrocza, który zawiera datę bazową. Można także wyszukać znacznik czasu dla okresu poprzedniego lub następnego.

Składnia:  

MonthsEnd(n_months, date[, period_no [, first_month_of_year]])

Typ zwracanych danych: podwójny

Argumenty:  

Argumenty MonthsEnd
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).
date Data do oceny.
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:  

monthsend(4, '19/07/2013')

Zwraca wartość 31/08/2013.

Przykład 2:  

monthsend(4, '19/10/2013', -1)

Zwraca wartość 31/08/2013.

Przykład 3:  

monthsend(4, '19/10/2013', 0, 2)

Zwraca wartość 31/01/2014.
Ponieważ początkiem roku staje się miesiąc 2.

Przykład 4:  

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 wyszukiwany jest koniec ostatniego dnia dwumiesięcznego okresu dla każdej daty faktury, przesuniętego do przodu o jeden okres dwóch miesięcy.

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

MonthsEnd(2, InvDate, 1) AS BiMthsEnd

Resident TempTable;

Drop table TempTable;

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

Wyniki przykładu 4
InvDate BiMthsEnd
28/03/2012 30/06/2012
10/12/2012 28/02/2013
5/2/2013 30/04/2013
31/3/2013 30/06/2013
19/5/2013 31/08/2013
15/9/2013 31/12/2013
11/12/2013 28/02/2014
2/3/2014 30/06/2014
14/5/2014 31/08/2014
13/6/2014 31/08/2014
7/7/2014 31/10/2014
4/8/2014 31/10/2014

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