Saltar al contenido principal

monthsend - función de script y de gráfico

Esta función devuelve el último milisegundo del mes, bimestre, trimestre, cuatrimestre o semestre que contiene una fecha base. También es posible hallar la fecha-hora de un período anterior o posterior.

Sintaxis:  

MonthsEnd(n_months, date[, period_no [, first_month_of_year]])

Tipo de datos que devuelve: dual

Argumentos:  

Argumentos de MonthsEnd
Argumento Descripción
n_months El número de meses que define el período. Un entero, o expresión que devuelve un entero, que debe ser una de las siguientes opciones: 1 (equivalente a la función inmonth()), 2 (período bimensual), 3 (equivalente a la función inquarter()), 4 (período cuatrimestral), o 6 (semestral).
date La fecha que se ha de evaluar.
period_no El periodo puede desplazarse mediante period_no, un entero, o expresión que viene a ser un entero, en el que el valor 0 indica el periodo que contiene a base_date. Los valores negativos en period_no indican periodos precedentes y los valores positivos indican periodos subsiguientes.
first_month_of_year

Si desea trabajar con años (fiscales) que no comiencen en enero, especifique un valor entre 2 y 12 en first_month_of_year.

Ejemplos y resultados:  

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. Cambie el formato en los ejemplos según se ajuste a sus necesidades.

Ejemplo 1:  

monthsend(4, '19/07/2013')

Devuelve 31/08/2013.

Ejemplo 2:  

monthsend(4, '19/10/2013', -1)

Devuelve 31/08/2013.

Ejemplo 3:  

monthsend(4, '19/10/2013', 0, 2)

Devuelve 31/01/2014.
Porque el inicio del año se convierte en el mes 2.

Ejemplo 4:  

Añada el script de ejemplo a su documento y ejecútelo. A continuación, añada como mínimo los campos de la columna de resultados a una hoja de su documento para ver el resultado.

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().

Resultados del ejemplo 4
InvDate BiMthsEnd
28/03/2012 30/06/2012
10/12/2012 28/02/2013
5/2/2013 30/04/2013
31/3/2013 30/06/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

¿Esta página le ha sido útil?

No dude en indicarnos en qué podemos mejorar si encuentra algún problema en esta página o su contenido, como, por ejemplo, errores tipográficos, pasos que falta o errores técnicos.

Únase al Programa de modernización de la analítica

Remove banner from view

Modernícese sin comprometer sus valiosas aplicaciones de QlikView con el Programa de modernización de la analítica. Haga clic aquí para obtener más información o contactar con nosotros: ampquestions@qlik.com