inyear - fonction de script et fonction de graphique
Cette fonction renvoie la valeur True si l'argument timestamp se trouve dans l'année comprenant l'argument base_date.
InYear (timestamp, base_date, period_no [, first_month_of_year])
Type de données renvoyé : booléen
Argument | Description |
---|---|
timestamp | Date à comparer à base_date. |
base_date | Date utilisée pour évaluer l'année. |
period_no | Il est possible de décaler l'année à l'aide de l'argument period_no. period_no est un entier, où la valeur 0 indique l'année comprenant l'argument base_date. Les valeurs négatives de l'argument period_no indiquent les années passés tandis que les valeurs positives désignent les années à venir. |
first_month_of_year | Si vous voulez utiliser des exercices (financiers) qui ne commencent pas en janvier, indiquez une valeur comprise entre 2 et 12 dans l'argument first_month_of_year. |
Ces exemples utilisent le format de date DD/MM/YYYY. Le format de date est indiqué dans l'instruction SET DateFormat située en haut de votre script de chargement. Modifiez le format utilisé dans les exemples en fonction de vos exigences.
inyear ('25/01/2013', '01/01/2013', 0 )
Renvoie True.
inyear ('25/01/2012', '01/01/2013', 0)
Renvoie False.
inyear ('25/01/2013', '01/01/2013', -1)
Renvoie False.
inyear ('25/01/2012', '01/01/2013', -1 )
Renvoie True.
inyear ('25/01/2013', '01/01/2013', 0, 3)
Renvoie True.
inyear ('25/03/2013', '01/07/2013', 0, 3 )
Renvoie False. Les valeurs de base_date et de first_month_of_year indiquent que l'argument d'horodatage timestamp doit être compris entre le 01/03/2012 et le 28/02/2013.
Ajoutez l'exemple de script à votre document et exécutez-le. Ensuite, ajoutez au moins les champs répertoriés dans la colonne des résultats à une feuille de votre document afin de visualiser le résultat.
Cet exemple permet de vérifier si une date de facture tombe dans l'exercice fiscal spécifié au moyen de la valeur first_month_of_year définie sur 4 et de la valeur base_date comprise entre le 1/4/2012 et le 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
];
Testez si la date de facture InvDate est comprise dans l'exercice fiscal couvrant la période du 1/04/2012 au 31/03/2013 :
InvoiceData:
LOAD *,
InYear(InvDate, '31/01/2013', 0, 4) AS FinYr1213
Resident TempTable;
Drop table TempTable;
La table résultante présente les dates initiales et une colonne contenant la valeur de retour de la fonction 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) |