inweektodate - fonction de script et fonction de graphique
Cette fonction renvoie la valeur True si l'argument timestamp se trouve dans la partie de la semaine comprenant l'argument base_date jusqu'à la dernière milliseconde spécifiée dans base_date.
InWeekToDate (timestamp, base_date, period_no [, first_week_day])
Type de données renvoyé : booléen
Argument | Description |
---|---|
timestamp | Date à comparer à base_date. |
base_date | Date utilisée pour évaluer la semaine. |
period_no | Il est possible de décaler la semaine à l'aide de l'argument period_no. period_no est un entier, où la valeur 0 indique la semaine comprenant l'argument base_date. Les valeurs négatives spécifiées pour period_no indiquent les semaines passées tandis que les valeurs positives désignent les semaines à venir. |
first_week_day |
Par défaut, le premier jour de la semaine est le lundi, qui commence à minuit entre le dimanche et le lundi. Pour que la semaine commence un autre jour, spécifiez un décalage dans first_week_day. Cette valeur peut être fournie sous forme de nombre entier de jours et/ou de fractions de jour. |
inweektodate ('12/01/2006', '12/01/2006', 0)
Renvoie True.
inweektodate ('12/01/2006', '11/01/2006', 0)
Renvoie False.
inweektodate ('12/01/2006', '18/01/2006', -1)
Renvoie False.
Comme period_no est défini sur -1, la date réelle par rapport à laquelle l'argument d'horodatage timestamp est mesuré est le 11/01/2006.
inweektodate ( '11/01/2006', '12/01/2006', 0, 3 )
Renvoie False.
Car first_week_day est défini sur 3 (un jeudi), ce qui fait du 12/01/2006 le premier jour de la semaine suivant la semaine contenant le 12/01/2006.
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 pendant la quatrième semaine suivant la semaine spécifiée par base_date, en définissant period_no sur 4, mais précédant la valeur de base_date.
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 *,
InWeekToDate(InvDate, '11/01/2013', 4) AS InWeek2DPlus4
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 inweek().
InvDate | InWeek2DPlus4 |
---|---|
28/03/2012 | 0 (False) |
10/12/2012 | 0 (False) |
5/2/2013 | -1 (True) |
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) |