Accéder au contenu principal

inlunarweek - fonction de script et fonction de graphique

Cette fonction renvoie la valeur true si l'argument timestamp se trouve dans la semaine lunaire comprenant l'argument base_date. Les semaines lunaires figurant dans QlikView sont définies en comptant le 1er janvier comme le premier jour de la semaine.

 

InLunarWeek (timestamp, base_date, period_no[, first_week_day])

Type de données renvoyé : booléen

 

Arguments InLunarWeek
Argument Description
timestamp Date à comparer à base_date.
base_date Date utilisée pour évaluer la semaine lunaire.
period_no Il est possible de décaler la semaine lunaire à l'aide de l'argument period_no. period_no est un entier, où la valeur 0 indique la semaine lunaire comprenant l'argument base_date. Les valeurs négatives spécifiées pour period_no indiquent les semaines lunaires passées tandis que les valeurs positives désignent les semaines lunaires à venir.
first_week_day Décalage pouvant être supérieur ou inférieur à zéro. Il modifie le début de l'année du nombre de jours et/ou de fractions de jour spécifié.

 

inlunarweek('12/01/2013', '14/01/2013', 0)

Renvoie True. Car la valeur de timestamp, soit le 12/01/2013, tombe dans la semaine du 08/01/2013 au 14/01/2013.

 

inlunarweek('12/01/2013', '07/01/2013', 0)

Renvoie False. Car la date de référence base_date, soit le 07/01/2013, tombe dans la semaine lunaire définie du 01/01/2013 au 07/01/2013.

 

inlunarweek('12/01/2013', '14/01/2013', -1)

Renvoie False. Car la définition de la valeur de period_no sur -1 entraîne le décalage de la semaine sur la semaine précédente, soit du 01/01/2013 au 07/01/2013.

 

inlunarweek('07/01/2013', '14/01/2013', -1)

Renvoie True. Par comparaison avec l'exemple précédent, l'horodatage est compris dans la semaine prenant en compte le décalage en arrière.

 

inlunarweek('11/01/2006', '08/01/2006', 0, 3)

Renvoie False. Car la définition de la valeur de first_week_day sur 3 signifie que le début de l'année est calculé à partir du 04/01/2013. Par conséquent, la valeur de base_date tombe dans la première semaine tandis que la valeur de timestamp tombe dans la semaine du 11/01/2013 au 17/01/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 la semaine décalée par rapport à la valeur de base_date de quatre semaines.

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 *,

InLunarWeek(InvDate, '11/01/2013', 4) AS InLWeekPlus4

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

La fonction renvoie True pour la valeur de InvDate 5/2/2013, car la valeur de base_date, soit le 11/01/2013, est décalée de quatre semaines et tombe ainsi dans la semaine du 5/02/2013 au 11/02/2013.

Résultats de l'exemple 6 :
InvDate InLWeekPlus4
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)

Cette page vous a-t-elle aidé ?

Si vous rencontrez des problèmes sur cette page ou dans son contenu – une faute de frappe, une étape manquante ou une erreur technique – dites-nous comment nous améliorer !

Rejoignez le Programme de modernisation analytique

Remove banner from view

Modernisez votre système sans compromettre vos précieuses applications QlikView grâce au Programme de modernisation analytique. Cliquez ici pour plus d'informations ou contactez : ampquestions@qlik.com