monthsname - script- en grafiekfunctie
Deze functie retourneert een weergavewaarde die het bereik vertegenwoordigt van de maanden van de periode (geformatteerd volgens de scriptvariabele MonthNames) alsmede het jaar. De onderliggende numerieke waarde komt overeen met een tijdstempel van de eerste milliseconde van de periode van een maand, twee maanden, kwartaal, tertiaal of half jaar die een basisdatum bevat.
Syntaxis:
MonthsName(n_months, date[, period_no[, first_month_of_year]])
Retourgegevenstype: dual
Argumenten:
Argument | Beschrijving |
---|---|
n_months | Het aantal maanden dat de periode definieert. Een geheel getal uit uitdrukking die wordt herleid tot een geheel getal dat een van de volgende waarden moet hebben: 1 (equivalent aan de functie inmonth()), 2 (2 maanden), 3 (equivalent aan de functie inquarter()), 4 (tertiaal) of 6 (half jaar). |
date | De te evalueren datum. |
period_no | De periode kan worden verschoven met period_no, een geheel getal of een uitdrukking die wordt herleid tot een geheel getal, waarbij de waarde 0 de periode aangeeft die base_date bevat. Negatieve waarden in period_no geven voorafgaande perioden aan en positieve waarden geven volgende perioden aan. |
first_month_of_year |
Als u wilt werken met (boek)jaren die niet in januari beginnen, geeft u een waarde op tussen 2 en 12 in first_month_of_year. |
Voorbeelden en resultaten:
Deze voorbeelden gebruiken de datumopmaak DD/MM/YYYY. De datumopmaak wordt opgegeven in de opdracht SET DateFormat boven aan uw load-script. Wijzig de opmaak in de voorbeelden zodat deze in uw behoeften voorziet.
Voorbeeld 1:
monthsname(4, '19/10/2013')
Retourneert Sep-Dec 2013.
Omdat in dit en in de andere voorbeelden de opdracht SET Monthnames is ingesteld op Jan;Feb;Mar, enzovoort.
Voorbeeld 2:
monthsname(4, '19/10/2013', -1)
Retourneert May-Aug 2013.
Voorbeeld 3:
monthsname(4, '19/10/2013', 0, 2)
Retourneert Oct-Jan 2014.
Omdat het begin van het jaar is opgegeven als maand 2, einde de periode van vier maanden in de eerste maand van het volgende jaar.
Voorbeeld 4:
Voeg het voorbeeldscript toe aan uw document en voer dit uit. Voeg vervolgens ten minste de velden die in de resultatenkolom staan aan een werkblad in uw document toe om het resultaat te bekijken.
In dit voorbeeld wordt voor elke factuurdatum in de tabel de naam van de maanden gemaakt op basis van de reeks van maanden in de periode van twee maanden en vanaf het jaar. Het bereik wordt 4x2 maanden verschoven door 4 op te geven voor period_no.
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;
De resulterende tabel bevat de oorspronkelijke datums en een kolom met de retourwaarde van de functie monthsname().
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 |