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

MonthEnd arguments

| Argument | Description |
| --- | --- |
| date | The date to evaluate. |
| period\_no | period\_no is an integer, which, if<br>0 or omitted, indicates the month that contains date.<br>Negative values in period\_no indicate<br>preceding months and positive values indicate succeeding months. |

Examples and results:

These examples use the date format DD/MM/YYYY. The date format is specified in the SET DateFormat statement at the top of your load script. Change the format in the examples to suit your requirements.

Example 1:

`monthend('19/02/2012')`

Returns 29/02/2012 23:59:59.

Example 2:

`monthend('19/02/2001', -1)`

Returns 31/01/2001 23:59:59.

Example 3:

Add the example script to your document and run it. Then add, at least, the fields listed in the results column to a sheet in your document to see the result.

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 chart properties.

Example 3 results

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