Saltar al contenido principal

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

Esta función devuelve True si timestamp se encuentra dentro del año que contiene base_date.

Sintaxis:  

InYear (timestamp, base_date, period_no [, first_month_of_year])

Tipo de datos que devuelve: Booleano

Argumentos:  

Argumentos de InYear
Argumento Descripción
timestamp La fecha que desee comparar con base_date.
base_date La fecha que se utiliza para evaluar el año.
period_no El año puede desplazarse mediante period_no. period_no es un entero, en el que el valor 0 indica el año que contiene base_date. Los valores negativos en period_no indican años precedentes y los valores positivos indican años posteriores.
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:  

inyear ('25/01/2013', '01/01/2013', 0 )

Devuelve True

Ejemplo 2:  

inyear ('25/01/2012', '01/01/2013', 0)

Devuelve False

Ejemplo 3:  

inyear ('25/01/2013', '01/01/2013', -1)

Devuelve False

Ejemplo 4:  

inyear ('25/01/2012', '01/01/2013', -1 )

Devuelve True

Ejemplo 5:  

inyear ('25/01/2013', '01/01/2013', 0, 3)

Devuelve True

Ejemplo 6:  

inyear ('25/03/2013', '01/07/2013', 0, 3 )

Devuelve False. Los valores de base_date y first_month_of_year especifican que timestamp debe caer dentro de 01/03/2012 y 28/02/2013.

Ejemplo 7:  

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 una fecha de facturación cae en el año fiscal especificado fijando el valor de first_month_of_year en 4, y teniendo la fecha base_date entre 1/4/2012 y 31/03/2013.

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

];

 

Verifica si InvDate está en el año financiero de 1/04/2012 a 31/03/2013:

InvoiceData:

LOAD *,

InYear(InvDate, '31/01/2013', 0, 4) AS FinYr1213

Resident TempTable;

Drop table TempTable;

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

Resultados del ejemplo 7
InvDate FinYr1213
28/03/2012 0 (False)
10/12/2012 -1 (True)
5/2/2013 -1 (True)
31/3/2013 -1 (True)
19/5/2013 0 (False)
15/9/2013 0 (False)
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