# monthsname — funkcja skryptu i funkcja wykresu

Ta funkcja zwraca wartość reprezentującą zakres miesięcy w okresie (sformatowany zgodnie ze stosowaną w skryptach zmienną MonthNames), a także rok. Bazowa wartość liczbowa odpowiada znacznikowi czasu pierwszej milisekundy okresu miesiąca, dwóch miesięcy, kwartału, okresu czteromiesięcznego lub półrocza zawierającego datę bazową.

Składnia:

MonthsName(n\_months, date[, period\_no[, first\_month\_of\_year]])

**Typ zwracanych danych:** podwójny

Argumenty:

Argumenty MonthsName

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

`monthsname(4, '19/10/2013')`

Zwraca wartość Sep-Dec 2013.   
Ponieważ w tym i innych przykładach instrukcja SET Monthnames jest ustawiona na wartość Jan;Feb;Mar itd.

Przykład 2:

`monthsname(4, '19/10/2013', -1)`

Zwraca wartość May-Aug 2013.

Przykład 3:

`monthsname(4, '19/10/2013', 0, 2)`

Zwraca wartość Oct-Jan 2014.   
Ponieważ określono, że rok zaczyna się w miesiącu 2, okres czterech miesięcy kończy się w pierwszym miesiącu roku następnego.

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 dla każdej daty faktury w tabeli nazwa miesięcy jest tworzona z zakresu miesięcy w okresie dwumiesięcznym oraz z roku. Zakres jest przesunięty o 4x2 miesiące przez określenie wartości period\_no jako 4.

`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 *,` `MonthsName(2, InvDate, 4) AS MthsName` `Resident TempTable;`

`Drop table TempTable;`

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

Wyniki przykładu 4

| InvDate | MthsName |
| --- | --- |
| 28/03/2012 | Nov-Dec 2012 |
| 10/12/2012 | Jul-Aug 2013 |
| 5/2/2013 | Sep-Oct 2013 |
| 31/3/2013 | Nov-Dec2013 |
| 19/5/2013 | Jan-Feb 2014 |
| 15/9/2013 | May-Jun 2014 |
| 11/12/2013 | Jul-Aug 2014 |
| 2/3/2014 | Nov-Dec 2014 |
| 14/5/2014 | Jan-Feb 2015 |
| 13/6/2014 | Jan-Feb 2015 |
| 7/7/2014 | Mar-Apr 2015 |
| 4/8/2014 | Mar-Apr 2015 |