Saltar al contenido principal

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

Esta función halla si una fecha-hora se encuentra dentro de parte de un período mensual, bimensual, trimestral, cuatrimestral o semestral hasta e incluido el último milisegundo de base_date. También es posible hallar si la fecha-hora cae dentro de un período anterior o posterior.

Sintaxis:  

InMonths (n_months, timestamp, base_date, period_no[, first_month_of_year ])

Tipo de datos que devuelve: Booleano

Argumentos:  

Argumentos de InMonthsToDate
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).

timestamp La fecha que desee comparar con base_date.
base_date La fecha que se utiliza para evaluar el periodo.
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:  

inmonthstodate(4, '25/01/2013', '25/04/2013', 0)

Devuelve True. Porque el valor de timestamp, 25/01/2013, cae dentro del periodo de cuatro meses 01/01/2013 hasta el final de 25/04/2013, en el que reside el valor de base_date, 25/04/2013.

Ejemplo 2:  

inmonthstodate(4, '26/04/2013', '25/04/2006', 0)

Devuelve False. Porque 26/04/2013 está fuera del mismo periodo que el ejemplo anterior.

Ejemplo 3:  

inmonthstodate(4, '25/09/2005', '01/02/2006', -1)

Devuelve True. Porque el valor de period_no, -1, desplaza el periodo de búsqueda hacia atrás un periodo de cuatro meses (el valor de n-months), lo cual hace que el periodo de búsqueda sea 01/09/2005 a 01/02/2006.

Ejemplo 4:  

inmonthstodate(4, '25/04/2006', '01/06/2006', 0, 3)

Devuelve True. Porque el valor de first_month_of_year está fijado en 3, lo cual hace que el periodo de búsqueda sea de 01/03/2006 a 01/06/2006, en lugar de 01/05/2006 a 01/06/2006.

Ejemplo 5:  

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 comprueba si la fecha de facturación de la tabla cae en la parte del periodo bimensual que abarca e incluye la fecha base_date desplazada hacia delante en cuatro periodos de dos meses (especificando 4 como period_no).

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

InMonthsToDate(2, InvDate, '15/02/2013', 4) AS InMths2DPlus4

Resident TempTable;

Drop table TempTable;

La tabla resultante contiene las fechas originales y una columna con el valor de retorno de la función InMonths().

El periodo de búsqueda es de 01/09/2013 a 15/10/2013, porque el valor de base_date se desplaza hacia delante ocho meses a partir del valor especificado en la función (15/02/2013).

Resultados del ejemplo 5
InvDate InMths2DPlus4
28/03/2012 0 (False)
10/12/2012 0 (False)
5/2/2013 0 (False)
31/3/2013 0 (False)
19/5/2013 0 (False)
15/9/2013 -1 (True)
11/12/2013 0 (False)
2/3/2014 0 (False)
14/5/2014 0 (False)
13/6/2014 0 (False)
7/7/2014 0 (False)
4/8/2014 0 (False)

¿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