inyeartodate - función de script y de gráfico
Esta función devuelve True si timestamp se encuentra dentro de la parte del año que contiene base_date hasta e incluido el último milisegundo de base_date.
Sintaxis:
InYearToDate (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. |
Ejemplo 1:
inyeartodate ('2013/01/25', '2013/02/01', 0)
Devuelve True
Ejemplo 2:
inyeartodate ('2012/01/25', '2013/01/01', 0)
Devuelve False
Ejemplo 3:
inyeartodate ('2012/01/25', '2013/02/01', -1)
Devuelve True
Ejemplo 4:
inyeartodate ('2012/11/25', '2013/01/31', 0, 4)
Devuelve True
El valor de timestamp entra dentro del año fiscal que comienza en el cuarto mes y antes del valor de base_date.
Ejemplo 5:
inyeartodate ( '2013/3/31', '2013/01/31', 0, 4 )
Devuelve False
Comparado con el ejemplo anterior, el valor de timestamp está aún dentro del año fiscal, pero se encuentra después del valor de base_date, así que queda fuera de la parte del año.
Ejemplo 6:
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 un año fiscal especificado fijando el valor de first_month_of_year en 4 y en la parte del año anterior al final de 31/01/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
];
InvoiceData:
LOAD *,
InYearToDate(InvDate, '31/01/2013', 0, 4) AS FinYr2Date
Resident TempTable;
Drop table TempTable;
La tabla resultante contiene las fechas originales y una columna con el valor de retorno de la función inyeartodate().
InvDate | FinYr2Date |
---|---|
28/03/2012 | 0 (False) |
10/12/2012 | -1 (True) |
5/2/2013 | 0 (False) |
31/3/2013 | 0 (False) |
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) |