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