monthsend - fonction de script et fonction de graphique
monthsend - fonction de script et fonction de graphique
Cette fonction renvoie une valeur correspondant à un horodatage de la dernière milliseconde du mois, de la période de deux mois, du trimestre, de la période de quatre mois ou du semestre contenant une date de référence. Il est également possible de rechercher l'horodatage d'une période passée ou future.
Nombre de mois définissant la période. Entier ou expression aboutissant à un entier qui doit correspondre à l'une de ces valeurs : 1 (qui équivaut à la fonction inmonth()), 2 (deux mois), 3 (qui équivaut à la fonction inquarter()), 4 (quatre mois) ou 6 (semestre).
date
Date à évaluer.
period_no
Il est possible de décaler la période à l'aide de l'argument period_no, d'un entier ou d'une expression aboutissant à un entier, où la valeur 0 indique la période comprenant l'argument base_date. Les valeurs négatives spécifiées pour period_no indiquent les périodes passées tandis que les valeurs positives désignent les périodes à 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 de données. Modifiez le format utilisé dans les exemples en fonction de vos exigences.
Exemples de script
Exemple
Résultat
monthsend(4, '19/07/2013')
Renvoie 31/08/2013.
monthsend(4, '19/10/2013', -1)
Renvoie 31/08/2013.
monthsend(4, '19/10/2013', 0, 2)
Renvoie 31/01/2014. Car le début de l'année devient le mois numéro 2.
Example:
Ajoutez l'exemple de script à votre application et exécutez-le. Ensuite, ajoutez au moins les champs répertoriés dans la colonne des résultats à une feuille de votre application afin de visualiser le résultat.
Cet exemple permet de rechercher la fin du dernier jour de la période de deux mois pour chaque date de facture, avec un décalage d'une période de deux mois vers l'avant.
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 *,
MonthsEnd(2, InvDate, 1) AS BiMthsEnd
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 MonthsEnd().