Passer au contenu principal
Adaptive Planning
Dernière mise à jour : 2023-06-23
Concept : formules avec fonction Day(this) et calendriers personnalisés

Concept : formules avec fonction Day(this) et calendriers personnalisés

Suite à l'introduction de la modélisation flexible des temps dans la version 2017.2, l'utilisation de
day(this)
dans les formules est interprété différemment selon que votre instance utilise un calendrier classique ou un calendrier personnalisé. Les calendriers existants sont des calendriers créés avant la version 2017.2 qui n'ont pas été modifiés dans la zone d'administration des temps. Voir Étapes : modifier les calendriers.
Le moyen le plus facile de déterminer si votre calendrier est existant est de regarder la barre d'outils d'Administration des temps. Seuls les calendriers existants offrent des boutons d'extension vers le passé et le futur.
Barre d'outils Administration des temps pour les calendriers existants
Barre d'outils Administration des temps pour les calendriers personnalisés
Barre d'outils Administration des temps pour les calendriers existants
Barre d'outils Administration des temps pour les calendriers personnalisés
Les calendriers classiques interprètent
day(this)
fonctionnel comme nombre 15.
Si vous modifiez votre calendrier classique en l'allongeant, en changeant ses libellés ou en ajoutant/retirant des strates de temps, il devient un calendrier personnalisé. Toutes les instances 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. alors que les calendriers classiques donnent toujours le nombre 15 pour
day(this),
calendriers personnalisés interprètes
day(this)
comme nombre entier du jour de la première date de la période dont elle fait partie.
day(this) dans un calendrier classique
day(this) dans un calendrier personnalisé
daythisOldCal.png
daythisNewCal.png
Valeur renvoyée pour janvier 2016 = 15
Valeur renvoyé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, en utilisant :
day(this)
à la semaine 2, renvoie le nombre 8. Le 8 janvier est le premier jour de la semaine 2.
day-this-calendar-week2.png

Comment
(this)
s'interprète dans une comparaison au sein d'un
IF
instruction

Pour les calendriers classiques, le terme (
this
) dans une formule peut représenter le 15e jour de n'importe quel mois lorsqu'elle est utilisée comme comparaison dans une
IF
relevé.
Dans un calendrier personnalisé
(this)
représente la date de début d'une période.
Par exemple, la formule
IF(this>toDate(2016,1,1),1,0)
renverra un 1 dans un calendrier classique qui commence en janvier 2016. Dans un calendrier personnalisé, elle donnera le même résultat, mais à partir de février 2016.
En janvier 2016 d'un calendrier classique :
this)
signifie 15/01/2016 et dans un calendrier personnalisé (
this)
signifie 01/01/2016.
IF(this>toDate(2016,1,1),1,0)
Janvier 2016
Février 2016
Classique
résultat = 1
résultat = 1
Personnalisé
résultat = 0
résultat = 0

Comment modifier
day
(this)
Formules provenant de calendriers classiques à utiliser dans de nouveaux calendriers

Pour que vos formules donnent les résultats escomptés, il faut suivre deux étapes quand vous les utilisez dans des calendriers personnalisés ou des instances créées après la version 2017.2.
  1. Dans toutes les formules, remplacez toutes les instances de
    day(this)
    dans un calendrier classique avec le nombre 15.
  2. Dans un
    IF
    l'instruction dans un calendrier classique remplace le mot
    (this)
    avec
    toDate(this.year,this.month,15).