monthsend - función de script y de gráfico
Esta función devuelve un valor correspondiente a una fecha y hora con el último milisegundo del mes, periodo de dos meses, trimestre, cuatrimestre o semestre que engloba la fecha base. También es posible hallar la fecha-hora de un periodo anterior o posterior.
Sintaxis:
MonthsEnd(n_months, date[, period_no [, first_month_of_year]])
Tipo de datos que devuelve: dual
Argumentos:
Estos ejemplos utilizan el formato de fecha DD/MM/YYYY. El formato de fecha se especifica en la sentencia SET DateFormat en la parte superior de su script de carga de datos. Cambie el formato en los ejemplos según se ajuste a sus necesidades.
Ejemplo | Resultado |
---|---|
monthsend(4, '19/07/2013') | Devuelve 31/08/2013. |
monthsend(4, '19/10/2013', -1) | Devuelve 31/08/2013. |
monthsend(4, '19/10/2013', 0, 2) | Devuelve 31/01/2014. Porque el inicio del año se convierte en el mes 2. |
Ejemplo:
Agregue el script de ejemplo en su app y ejecútelo. Para ver el resultado, agregue los campos enumerados en la columna de resultados a una hoja de su app.
Este ejemplo encuentra el final del último día del periodo bimensual de cada fecha de facturación, desplazado hacia delante en un periodo de dos meses.
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;
La tabla resultante contiene las fechas originales y una columna con el valor de retorno de la función MonthsEnd().
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 |