Beispiel: Vergütungssatzformeln erstellen
Der Einfachheit halber werden in den Beispielen Kommas als Trennzeichen für Begriffe verwendet. Für einige Browsereinstellungen müssen Sie Semikolons als Trennzeichen verwenden.
In diesem Beispiel referenziert die Formel „Vergütungssatz“ Werte, die in den Annahmen
RaiseMonth
(Monat der Gehaltserhöhung) und RaisePct
(Prozentsatz der Gehaltserhöhung) eingegeben wurden.Einige Informationen zur Berechnung des Vergütungssatzes:
- Die Spalte „Vergütungssatz“ ist ein Element von „Anfangssaldo (kumulativ)“, „Planung nach“ Monatsdelta, was bedeutet, dass die Dateneingabe von der Planning-Seite für alle Perioden in der Version vorgetragen wird. Die Berechnungen, die Sie für das Element vornehmen, werden zum Saldo des vorherigen Monats im Konto hinzugefügt.
- Syntax für IF-Anweisungen inAdaptive PlanningSie unterscheiden sich von Excel:
- Adaptive PlanningBeispiel:if(ACCT.A6=1 and ACCT.B6=0,X,0)
- Beispiel für Excel:if(and(A6=1, B6=0),X,0)
- Die Berechnung des Vergütungssatzes enthält drei grundlegende Zeitreferenzen. Jede Referenz weist jedem Monat in der Version eine Zahl zu und kann verwendet werden, um eine Datumsspalte mit einer zugewiesenen Monatszahl in der Version zu vergleichen.
- Month: Jedem Monat wird entsprechend dem Kalenderjahr eine Zahl (1–12) zugewiesen, die in der gesamten Version wiederholt wird.
- Fiscalmonth: Jedem Monat wird entsprechend dem Geschäftsjahr des Unternehmens eine Zahl von 1 bis 12 zugewiesen, die in der gesamten Version wiederholt wird.
- Versionmonth: Jedem Monat wird eine Zahl zugewiesen. Der erste Monat der Version ist 0. Die Zahlen werden über die Zeit hinweg fortgesetzt (ohne sich zu wiederholen). Positive Zahlen geben kommende Monate an. Negative Zahlen (-) geben vergangene Monate an.
Die Berechnung des Vergütungssatzes lautet wie folgt:
IF((VersionMonth(this) > 0) AND ROW.Headcount>0 AND (((VersionMonth(this) - VersionMonth(ROW.StartDate) > 1) AND ASSUM.RaiseMonth = 0 AND FiscalMonth(this) = FiscalMonth(ROW.StartDate)) OR (ASSUM.RaiseMonth = Month(this))), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
Die folgende Tabelle enthält eine detaillierte Aufgliederung der einzelnen Anweisungen in der Berechnung:
Anweisung | Beschreibung |
|---|---|
VersionMonth(this)>0
| Diese Anweisung prüft, ob die Zahl des Monats, der in einer bestimmten Periode in Ihrer Version zugewiesen wurde, tatsächlich nach dem ersten Monat der Version liegt. Dadurch wird verhindert, dass im ersten Monat der Version eine Erhöhung gewährt wird. Es wird davon ausgegangen, dass Sie das Gehalt eines Mitarbeiters im ersten Monat als Anfangsgehalt eingegeben haben. |
ROW.Headcount>0
| Überprüft, ob der Mitarbeiter angestellt ist, damit die Erhöhung des Vergütungssatzes angewendet werden kann. Headcount basiert auf der Spalte für das Anfangs- und Enddatum des Mitarbeiters. Dies ist ein binärer Trigger mit einem Ergebnis von 0 oder 1 um anzugeben, ob der Mitarbeiter in jeder Periode angestellt ist (oder nicht). |
VersionMonth(this)-VersionMonth(ROW.StartDate)>1
| Überprüft jeden Monat, in dem die Formel angewendet wird, um sicherzustellen, dass eine Gehaltserhöhung erst nach dem Anfangsdatum des Mitarbeiters angewendet wird. Die VersionMonth Das jeder Periode zugewiesene Attribut wird gegen das eindeutige geprüft VersionMonth dem Anfangsdatum des Mitarbeiters zugewiesen ist. Wenn die Differenz größer als 1 ist (die Periode liegt nach dem Anfangsdatum des Mitarbeiters), kann der Mitarbeiter eine Erhöhung erhalten, alle anderen vorausgesetzt and -Anweisungen erfüllt sind. |
ASSUM.RaiseMonth = 0
| Überprüft jeden Monat, ob RaiseMonth Annahme ist 0 . Bei Erhöhungen zum Jubiläum muss der Monat der Erhöhung 0 sein. |
FiscalMonth(this)=FiscalMonth(ROW.StartDate)
| Überprüft jeden FiscalMonth und vergleicht sie mit der zugewiesenen FiscalMonth für das Anfangsdatum des Mitarbeiters. Beispiel: Wenn das Anfangsdatum des Mitarbeiters ist 8/12/2016 und das Geschäftsjahr der Organisation mit dem Kalenderjahr, dem zugewiesenen Monat, übereinstimmt FiscalMonth(ROW.StartDate) wäre 8. Im Januar jeden Jahres FiscalMonth(this) gibt a zurück 1 . Im Februar wird a zurückgegeben 2 usw. Dieser Ausdruck ist nur dann „true“, wenn der FiscalMonth ist identisch mit FiscalMonth des Anfangsdatums des Mitarbeiters. Auf diese Weise ist es möglich, Jahr für Jahr an einem Jubiläumsdatum etwas zu berechnen. |
ASSUM.RaiseMonth = Month(this)
| Prüft, ob es die für die eingegebene Nummer ist RaiseMonth Die Annahme stimmt mit der Zahl des aktuellen Monats überein. Beispiel: Wenn Sie die Erhöhung im April 2017 durchführen möchten, platzieren Sie a 4 in der Annahme RaiseMonth im April 2017. |
ROW.PayRate[time=THIS-1]*ASSUM.RaisePct
| Definiert die True-Klausel. Wenn die vorherigen Anweisungen wahr sind (alle and Anweisungen und eine der or Anweisungen), dann alle IF Bedingungen sind erfüllt und die Erhöhung (ASSUM.PaisePct ) wird angewendet.Die PayRate Die Formel a referenziert die vorherige Periode [time=THIS-1] , und nicht die aktuelle Periode. Gründe hierfür sind:
|
0
| Definiert die False-Klausel. Wenn einer (oder mehrere) der IF Bedingungen nicht erfüllt sind, gilt die Erhöhung 0 und dem Saldo wird nichts hinzugefügt. |
In Worten lautet die Formel wie folgt:
„Wenn dies ein Monat innerhalb dieser Budgetversion ist und der Mitarbeiter angestellt ist und die Periode nach dem Start des Mitarbeiters liegt und die Annahme den Wert 0 hat und der aktuelle Monat mit dem Anfangsdatum des Mitarbeiters identisch ist oder der aktuelle Monat mit dem Wert im aktuellen Monat der Annahme übereinstimmt, dann eine Gehaltserhöhung geben. Andernfalls keine Gehaltserhöhung geben.“
Alternative Optionen für Gehaltserhöhung
In der Regel geben Organisationen keine Gehaltserhöhung im Erhöhungsmonat
oder
am Jubiläumsdatum. Die meisten Organisationen würden eine einfachere Version dieser Erhöhungsberechnung verwenden. Option 1:
Betrag im Monat der Gehaltserhöhung anwenden. Die Formel lautet:if(VersionMonth(this)>0 and ROW.Headcount>0 and VersionMonth(this)-VersionMonth(ROW.StartDate)>1 and ASSUM.RaiseMonth=fiscalmonth(this), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0
Die Änderungen in der Berechnung sind:
Anweisung | Beschreibung |
|---|---|
ROW.Headcount>0
| Nach wie vor gilt: Headcount muss größer als 0 sein und nicht gleich 1 . Auf diese Weise funktioniert die Berechnung für alle Zeilen eines gesplitteten Mitarbeiters, der in einer bestimmten Zeile möglicherweise weniger als einen Headcount hat. |
ASSUM.RaiseMonth=FiscalMonth(this)
| Die RaiseMonth wird mit dem Geschäftsmonat des Unternehmens verglichen. So kann der Mitarbeiter, der die Annahme ausfüllt, das Geschäftsjahr des Unternehmens berücksichtigen und nicht zwangsläufig das Kalenderjahr. |
fiscalmonth(this) = fiscalmonth(ROW.StartDate)) or ASSUM. RaiseMonth = Month(this)
| Gibt es keine or Anweisung für das Jubiläumsdatum. Die Erhöhung wird nur im Monat der Gehaltserhöhung angewendet. |
Option 2:
Erhöhungen am Jubiläumsdatum anwenden. Die Formel lautet:if(VersionMonth(this)> 0 AND ROW.Headcount>0 AND VersionMonth(this)-VersionMonth(ROW.StartDate)> 1 AND FiscalMonth(this)=FiscalMonth(ROW.StartDate), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
Weitere Optionen für Vergütungssätze finden Sie unter Formelbeispiele – Personal, Vergütungssatzberechnungen .