Deze functie retourneert een waarde die overeenkomt met een tijdstempel van de eerste milliseconde van de periode van een maand, twee maanden, kwartaal, tertiaal of half jaar die een basisdatum bevat. Het is tevens mogelijk om de tijdstempel voor een voorafgaande of volgende tijdsperiode te bepalen.
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.
Deze voorbeelden gebruiken de datumopmaak DD/MM/YYYY. De datumopmaak wordt opgegeven in de opdracht SET DateFormat boven aan uw script voor het laden van gegevens. Wijzig de opmaak in de voorbeelden zodat deze in uw behoeften voorziet.
Scriptvoorbeelden
Voorbeeld
Resultaat
monthsstart(4, '19/10/2013')
Retourneert 1/09/2013.
monthsstart(4, '19/10/2013, -1)
Retourneert 01/05/2013.
monthsstart(4, '19/10/2013', 0, 2 )
Retourneert 01/10/2013. Omdat het begin van het jaar maand 2 wordt.
Voeg het voorbeeldscript toe aan uw app en voer het uit. Voeg vervolgens de velden die in de resultatenkolom staan toe aan een werkblad in uw app om het resultaat te bekijken.
Dit voorbeeld retourneert de eerste dag van de periode van twee maanden voor elke factuurdatum, één periode van twee maanden vooruitgeschoven.
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 *,
MonthsStart(2, InvDate, 1) AS BiMthsStart
Resident TempTable;
Drop table TempTable;
De resulterende tabel bevat de oorspronkelijke datums en een kolom met de retourwaarde van de functie MonthsStart().
Resultatentabel
InvDate
BiMthsStart
28/03/2012
01/05/2012
10/12/2012
01/01/2013
5/2/2013
01/03/2013
31/3/2013
01/05/2013
19/5/2013
01/07/2013
15/9/2013
01/11/2013
11/12/2013
01/01/2014
2/3/2014
01/05/2014
14/5/2014
01/07/2014
13/6/2014
01/07/2014
7/7/2014
01/09/2014
4/8/2014
01/09/2014
Was deze pagina nuttig?
Als u problemen ervaart op deze pagina of de inhoud onjuist is – een typfout, een ontbrekende stap of een technische fout – laat het ons weten zodat we dit kunnen verbeteren!