# 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 |