Denna funktion returnerar ett värde som motsvarar en tidsmarkör för den sista millisekunden i månaden, tvåmånadersperioden, kvartalet, tredjedelens år eller halvåret som innehåller ett basdatum. Det går även att hitta tidsmarkören för en föregående eller senare tidsperiod.
Antalet månader som definierar perioden. 1 (motsvaras av inmonth()-funktionen), 2 (tvåmånadersperiod), 3 (motsvaras av inquarter()-funktionen), 4 (tredjedels år), eller 6 (halvår).
date
Det datum som ska evalueras.
period_no
Periodens startpunkt kan flyttas med period_no, ett heltal, eller ett uttryck som resulterar i ett heltal, där värdet 0 anger den period som innehåller base_date. Negativa värden i period_no anger föregående perioder och positiva värden anger efterföljande perioder.
first_month_of_year
Om du vill arbeta med (budget)år som inte börjar i januari kan du ange ett värde mellan 2 och 12 i first_month_of_year.
I de här exemplen används datumformatet DD/MM/YYYY. Datumformatet anges i SET DateFormat-satsen längst upp i dataladdningsskriptet. Ändra formatet i exemplen så att det passar dina krav.
Skriptexempel
Exempel
Resultat
monthsend(4, '19/07/2013')
Returnerar 31/08/2013.
monthsend(4, '19/10/2013', -1)
Returnerar 31/08/2013.
monthsend(4, '19/10/2013', 0, 2)
Returnerar 31/01/2014. Eftersom årets start blir månad 2.
Exempel:
Lägg till exempelskriptet i appen och kör det. När du vill se resultatet lägger du till de fält som anges i resultatkolumnen i ett ark i din app.
I det här exemplet hittar vi slutet på den sista dagen i en tvåmånadersperiod för varje faktureringsdatum, framflyttad med en tvåmånadersperiod.
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;
Den resulterande tabellen innehåller de ursprungliga datumen och en kolumn med returvärdet för MonthsEnd()-funktionen.
Resultattabell
InvDate
BiMthsEnd
28/03/2012
30/06/2012
10/12/2012
28/02/2013
5/2/2013
30/04/2013
31/3/2013
30/04/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
Var den här sidan till hjälp för dig?
Om du hittar några fel på denna sida eller i innehållet – ett stavfel, ett steg som saknas eller ett tekniskt fel – berätta för oss så att vi kan blir bättre!