This function returns
a value corresponding to a timestamp of the first millisecond of the
first day of the month containing date. The default output format will be the DateFormat set in the script.
Syntax:
MonthStart(date[, period_no])
Return data type: dual
Arguments:
Arguments
Argument
Description
date
The date to evaluate.
period_no
period_no is an integer, which, if
0 or omitted, indicates the month that contains date.
Negative values in period_no indicate
preceding months and positive values indicate succeeding months.
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.
Scripting examples
Example
Result
monthstart('19/10/2001')
Returns 01/10/2001.
monthstart('19/10/2001', -1)
Returns
01/09/2001.
Example:
Add the example script to your app and run it. Then add the fields listed in the results column to a sheet in your app to see the result.
This example finds the first 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 *,
MonthStart(InvDate, 4) AS MthStart
Resident TempTable;
Drop table TempTable;
The resulting table contains the original dates and a column with the return value of the monthstart() function. You can display the full timestamp by specifying the formatting in the properties panel.
Results table
InvDate
MthStart
28/03/2012
01/07/2012
10/12/2012
01/04/2013
5/2/2013
01/06/2013
31/3/2013
01/07/2013
19/5/2013
01/09/2013
15/9/2013
01/01/2014
11/12/2013
01/04/2014
2/3/2014
01/07/2014
14/5/2014
01/09/2014
13/6/2014
01/10/2014
7/7/2014
01/11/2014
4/8/2014
01/12/2014
Did this page help you?
If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!