Konzept: Day(this)-Formeln und benutzerdefinierte Kalender
Mit der Einführung der flexiblen Zeitmodellierung im Release 2017.2 wurde die Verwendung von
day(this)
in Formeln wird unterschiedlich interpretiert, je nachdem, ob Ihre Instanz über einen Legacy-Kalender oder einen benutzerdefinierten Kalender verfügt. Legacy-Kalender sind Kalender, die vor dem Release 2017.2 erstellt wurden und nicht in der Zeitverwaltung geändert wurden. Siehe: Schritte: Kalender ändern.Der einfachste Weg, festzustellen, ob Sie einen Legacy-Kalender haben, besteht darin, die Symbolleiste der Zeitverwaltung anzuzeigen. Nur Legacy-Kalender verfügen über die Schaltflächen „Nach hinten erweitern“ und „Nach vorn erweitern“.
Symbolleiste für Legacy-Kalender in der Zeitverwaltung | Symbolleiste für benutzerdefinierten Kalender in der Zeitverwaltung |
|---|---|
|
|
Legacy-Kalender interpretieren die
day(this)
fungieren als Zahl 15.Wenn Sie Ihren Legacy-Kalender ändern, indem Sie ihn verlängern, seine Labels ändern oder Zeitschichten hinzufügen oder entfernen, wird er zu einem benutzerdefinierten Kalender. Alle Instanzen, die nach dem Release 2017.2 erstellt wurden, werden standardmäßig automatisch als benutzerdefinierte Kalender verwendet, auch wenn sie monatliche Kalender sind. Während ältere Kalender immer die Zahl 15 für zurückgeben
day(this),
benutzerdefinierte Kalender werden interpretiertday(this)
als Tages-Ganzzahl für das erste Datum der enthaltenen Zeitperiode.day(this) in einem Legacy-Kalender | day(this) in einem benutzerdefinierten Kalender |
|---|---|
|
|
Rückgabewert für Januar 2016 = 15 | Rückgabewert für Januar 2016 = 1 |
Beispiel: Wenn in einem benutzerdefinierten Kalender, der mit Wochen konfiguriert ist, Woche 1 eines Jahres am 1. Januar beginnt, verwenden Sie
day(this)
gibt in Woche 2 die Zahl 8 zurück. Der 8. Januar ist der erste Tag von Woche 2.
Wie
(this) wird in einem Vergleich innerhalb von interpretiert IF Anweisung
Bei Legacy-Kalendern wird das Wort ((this)
wird in einem Vergleich innerhalb von interpretiert IF
Anweisung this
) in einer Formel kann den 15. eines jeden Monats darstellen, wenn er als Vergleich in verwendet wird IF
Anweisung.In einem benutzerdefinierten Kalender
(this)
stellt das Startdatum einer Zeitperiode dar.Beispiel: Die Formel
IF(this>toDate(2016,1,1),1,0)
gibt in einem Legacy-Kalender, der im Januar 2016 beginnt, eine 1 zurück. In einem benutzerdefinierten Kalender gibt die Formel ab Februar 2016 eine 1 zurück.Im Januar 2016 eines Legacy-Kalenders (
this)
bedeutet 15.01.2016 und in einem benutzerdefinierten Kalender (this)
bedeutet 1.1.2016.IF(this>toDate(2016,1,1),1,0) | Januar 2016 | Februar 2016 |
|---|---|---|
Legacy | result = 1 | result=1 |
Benutzerdefiniert | result=0 | result=0 |
So bearbeiten Sie es day
(this)
Formeln aus Legacy-Kalendern für die Verwendung in neuen Kalendern
Es gibt zwei Schritte, um sicherzustellen, dass Ihre Formeln die erwarteten Ergebnisse liefern, wenn Sie sie in benutzerdefinierten Kalendern oder Instanzen verwenden, die nach dem Release 2017.2 erstellt wurden. day
(this)
Formeln aus Legacy-Kalendern für die Verwendung in neuen Kalendern- Ersetzen Sie in allen Formeln alle Instanzen vonday(this)in einem Legacy-Kalender mit der Nummer 15.
- Innerhalb von einemIF-Anweisung in einem Legacy-Kalender das Wort ersetzt(this)mittoDate(this.year,this.month,15).