Passer au contenu principal
Adaptive Insights
Knowledge and Support - Adaptive Insights

La différence entre day(this) dans les calendriers traditionnels et les calendriers personnalisés

Avec l’introduction de la Modélisation flexible du temps dans la version 2017.2, l’utilisation de  day(this) dans les formules est interprétée de façon différente si votre instance a un calendrier traditionnel ou personnalisé. Les calendriers traditionnels sont ceux créés avant la version 2017.2 qui n’ont pas été modifiés au sein de l’Administration du Temps.

La façon la plus facile de déterminer si votre calendrier est traditionnel est de regarder la barre d’outils Gestion du temps. Seuls les calendriers traditionnels offrent des boutons d’extension vers le passé et le futur extendBackward.png extendForward.png

Barre d’outils Gestion du temps calendrier traditionnel Barre d’outils Gestion du temps calendrier personnalisé
Legacy Calendar Time Administration Toolbar Custom Calendar Time Administration Toolbar

Les calendriers traditionnels interprètent la fonction day(this) comme le nombre 15.

Si vous changez votre calendrier traditionnel en l’allongeant, en changeant ses labels, ou en ajoutant ou retirant des strates de temps, il devient un calendrier personnalisé. Toutes les instances Adaptatives créées après la version 2017.2 opèrent automatiquement comme des calendriers personnalisés par défaut, même si elles sont mensuelles. Si les calendriers traditionnels donnent toujours le nombre 15 pour daythis(), les calendriers personnalisés interprètent daythis() comme le nombre entier du jour de première date de la période contenante.

day(this) dans un calendrier traditionnel day(this) dans un calendrier personnalisé
Legacy use of day(this) Custom Calendar day(this)
Valeur retournée pour janvier 2016 = 15 Valeur retournée pour janvier 2016 = 1

Par exemple, dans un calendrier personnalisé configuré en semaines,  si la semaine 1 d’une année commence le 1er janvier,  day(this) donnera le nombre 8 dans la semaine 2. 

Custom Calendar - week 2 - day(this)

Le 8 janvier est le premier jour de la semaine 2.

day-this-calendar-week2.png

Comment (this) est interprété dans une comparaison au sein d’une instruction IF 

Pour les calendriers traditionnels, le mot (this) dans une formule peut représenter le 15e jour de n’importe quel mois où il est utilisé dans une comparaison, dans une instruction IF.

Dans un calendrier personnalisé, (this) représente la date de départ d’une période de temps.

Par exemple, la formule IF(this>toDate(2016,1,1),1,0) donnera un 1 dans un calendrier traditionnel qui commence en janvier 2016. Dans un calendrier personnalisé, la formule donnera un 1 à partir de février 2016.

En janvier 2016, dans un calendrier traditionnel, (this) veut dire 15-1-2016, et dans un calendrier personnalisé (this) veut dire 1-1-2016.

IF(this>toDate(2016,1,1),1,0) Janvier 2016 Février 2016
Traditionnel résultat = 1 résultat=1
Personnalisé résultat=0 résultat=0

Comment éditerles formules  day(this) dans les calendriers traditionnels pour utilisation dans de nouveaux calendriers

Il faut suivre deux étapes pour obtenir des résultats fiables de vos formules quand vous les utilisez dans des calendriers personnalisés ou des instances Adaptives créées après la version 2017.2. 

  1. Remplacez toutes les instances de day(this) dans toutes les formules au sein d’un calendrier traditionnel par le nombre 15.
  2. Au sein d’une instruction IF dans un calendrier traditionnel remplacez le mot (this) par toDate(this.year, this.month,15).

 

  • Cet article vous a été utile ?