Zum Hauptinhalt wechseln
Adaptive Planning
Zuletzt aktualisiert: 2023-06-23
Konzept: Day(this)-Formeln und benutzerdefinierte Kalender

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
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 interpretiert
day(this)
als Tages-Ganzzahl für das erste Datum der enthaltenen Zeitperiode.
day(this) in einem Legacy-Kalender
day(this) in einem benutzerdefinierten Kalender
daythisOldCal.png
daythisNewCal.png
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.
day-this-calendar-week2.png

Wie
(this)
wird in einem Vergleich innerhalb von interpretiert
IF
Anweisung

Bei Legacy-Kalendern wird das Wort (
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.
  1. Ersetzen Sie in allen Formeln alle Instanzen von
    day(this)
    in einem Legacy-Kalender mit der Nummer 15.
  2. Innerhalb von einem
    IF
    -Anweisung in einem Legacy-Kalender das Wort ersetzt
    (this)
    mit
    toDate(this.year,this.month,15).