monthend - script and chart function
This function returns a value corresponding to a timestamp of the last millisecond of the last day of the month containing date. The default output format will be the DateFormat set in the script.
Syntax:
MonthEnd(date[, period_no])
Return data type: dual
Arguments:
These examples use the date format DD/MM/YYYY. The date format is specified in the SET DateFormat statement at the top of your data load script. Change the format in the examples to suit your requirements.
Example | Result |
---|---|
monthend('19/02/2012') | Returns 29/02/2012 23:59:59. |
monthend('19/02/2001', -1) | Returns 31/01/2001 23:59:59. |
Example:
Add the example script to your app and run it. To see the result, add the fields listed in the results column to a sheet in your app.
This example finds the last day in the month of each invoice date in the table, where the base date is shifted by four months by specifying period_no as 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 *,
MonthEnd(InvDate, 4) AS MthEnd
Resident TempTable;
Drop table TempTable;
The resulting table contains the original dates and a column with the return value of the monthend() function. You can display the full timestamp by specifying the formatting in the properties panel.
InvDate | MthEnd |
---|---|
28/03/2012 | 31/07/2012 |
10/12/2012 | 30/04/2013 |
5/2/2013 | 30/06/2013 |
31/3/2013 | 31/07/2013 |
19/5/2013 | 30/09/2013 |
15/9/2013 | 31/01//2014 |
11/12/2013 | 30/04//2014 |
2/3/2014 | 31/07//2014 |
14/5/2014 | 30/09/2014 |
13/6/2014 | 31/10/2014 |
7/7/2014 | 30/11/2014 |
4/8/2014 | 31/12/2014 |