Concetto: Formule Day(this) e calendari personalizzati
Con l'introduzione della modellazione temporale flessibile nella versione 2017.2, l'utilizzo di
day(this)
all'interno delle formule viene interpretato in modo diverso a seconda che l'istanza abbia un calendario legacy o un calendario personalizzato. I calendari legacy sono calendari creati prima della versione 2017.2 che non sono stati modificati nell'area Amministrazione tempi. Consultare Procedura: Modificare i calendari.Il modo più semplice per determinare se il calendario è legacy è visualizzare la barra degli strumenti di Amministrazione tempi. Solo i calendari legacy includono i pulsanti di estensione avanti e indietro.
Barra degli strumenti Amministrazione tempi del calendario legacy | Barra degli strumenti Amministrazione tempi del calendario personalizzato |
|---|---|
|
|
I calendari legacy interpretano il
day(this)
funzione come il numero 15.Se si modifica il calendario legacy estendendolo, modificandone le etichette o aggiungendo o rimuovendo strati temporali, il calendario diventa un calendario personalizzato. Tutte le istanze create dopo la versione 2017.2 funzionano automaticamente come calendari personalizzati per impostazione predefinita, anche se sono mensili. Sebbene i calendari legacy restituiscano sempre il numero 15 per
day(this),
i calendari personalizzati interpretanoday(this)
come numero intero del giorno della prima data del periodo di tempo contenitore.day(this) in un calendario legacy | day(this) in un calendario personalizzato |
|---|---|
|
|
Valore restituito per gennaio 2016 = 15 | Valore restituito per gennaio 2016 = 1 |
Ad esempio, in un calendario personalizzato configurato con settimane, se la settimana 1 di un anno inizia il 1° gennaio, si utilizza
day(this)
nella settimana 2 restituisce il numero 8. L'8 gennaio è il primo giorno della settimana 2.
Come
(this) viene Interpretato in un confronto all'interno di un IF istruzione
Per i calendari legacy, la parola ((this)
viene Interpretato in un confronto all'interno di un IF
istruzione this
) all'interno di una formula può rappresentare il 15 di qualsiasi mese quando viene utilizzato come confronto in un IF
istruzioneIn un calendario personalizzato
(this)
rappresenta la data di inizio di un periodo di tempo.Ad esempio, la formula
IF(this>toDate(2016,1,1),1,0)
restituirà 1 in un calendario legacy che inizia a gennaio 2016. In un calendario personalizzato, la formula restituisce 1 a partire da febbraio 2016.A gennaio 2016 di un calendario legacy, (
this)
indica 15/01/2016 e in un calendario personalizzato (this)
indica 01/01/2016.IF(this>toDate(2016,1,1),1,0) | Gennaio 2016 | Febbraio 2016 |
|---|---|---|
Legacy | risultato = 1 | risultato = 1 |
Personalizzato | risultato = 0 | risultato = 0 |
Come modificare day
(this)
Formule da calendari legacy da utilizzare in nuovi calendari
È necessario eseguire due passaggi per assicurarsi che le formule producano i risultati previsti quando vengono utilizzate in calendari personalizzati o istanze create dopo la versione 2017.2. day
(this)
Formule da calendari legacy da utilizzare in nuovi calendari- In tutte le formule, sostituire tutte le istanze diday(this)in un calendario legacy con il numero 15.
- All'interno di unIFistruzione in un calendario legacy sostituire la parola(this)contoDate(this.year,this.month,15).