Exemple : créer des formules pour le taux de rémunération
Pour plus de simplicité, les exemples utilisent des virgules comme séparateurs de termes. Les paramètres de certains navigateurs vous obligent néanmoins à utiliser des points-virgules comme séparateurs.
Dans cet exemple, la formule du taux de rémunération fait référence à des valeurs entrées dans les hypothèses
Mois d’augmentation
et Pourcentage d’augmentation
.Il faut bien comprendre les points suivants concernant le calcul du taux de rémunération :
- La colonne Taux de rémunération est un élément du solde initial (cumulé), planifié sur la base d’un delta mensuel, ce qui veut dire que les données entrées lors de la planification sont ensuite reportées pour toutes les périodes de la version. Les calculs que vous faites sur l’élément s’ajouteront au solde du compte du mois précédent.
- Syntaxe pour les instructions IF enAdaptive Planningdiffèrent d’Excel :
- Adaptive Planningexemple :if(ACCT.A6=1 and ACCT.B6=0,X,0)
- Exemple Excel :if(and(A6=1, B6=0),X,0)
- Il y a trois références temporelles de base dans le calcul du taux de rémunération. Chaque référence attribue un numéro à chaque mois pour la version et peut être utilisée pour comparer une colonne de dates à ce numéro de mois attribué dans la version.
- Mois: chaque mois se voit attribuer un numéro (1 à 12) suivant l’année civile, qui se répète dans l’ensemble de la version.
- FiscalMonth: chaque mois se voit attribuer un numéro (1 à 12) suivant l’exercice de la société, qui se répète dans l’ensemble de la version.
- VersionMonth: chaque mois se voit attribuer un numéro. Le premier mois de la version correspond à 0 (zéro). Les nombres s’incrémentent au fil du temps (sans se répéter). Les nombres positifs indiquent les mois à venir. Les nombres négatifs (-) indiquent les mois passés.
La formule de calcul du taux de rémunération est :
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)
Le tableau suivant présente une décomposition détaillée de chaque instruction du calcul :
Instruction | Description |
|---|---|
VersionMonth(this)>0
| Cette instruction vérifie que le numéro de mois attribué pendant la période indiquée dans votre version est supérieur au premier mois de la version. Cela permet d’éviter l’attribution d’une augmentation durant le premier mois de la version. Le système part du principe que vous entrez le salaire de départ de l’employé au cours du premier mois. |
ROW.Headcount>0
| Vérifie que l’employé est employé afin d’appliquer l’augmentation du taux de rémunération. Headcount est basée sur la colonne des dates de début et de fin de l’employé. Il s'agit d'un déclencheur binaire avec un résultat de 0 ou 1 pour indiquer que l’employé est employé (ou non) à chaque période. |
VersionMonth(this)-VersionMonth(ROW.StartDate)>1
| Vérifie chaque mois où la formule est utilisée pour assurer qu’une augmentation de salaire n’est pas appliquée avant la date de début de l’employé. Le VersionMonth affecté à chaque période est vérifié par rapport à la valeur unique VersionMonth affecté à la date de début de l’employé. Si la différence est supérieure à un (la période survient après la date de début de l’employé), l’employé peut obtenir une augmentation, à condition que toutes les autres and les énoncés sont satisfaits. |
ASSUM.RaiseMonth = 0
| Vérifie chaque mois si RaiseMonth hypothèse 0 . Pour les augmentations à la date d’anniversaire de l’embauche, il faut que le mois d’augmentation soit à zéro. |
FiscalMonth(this)=FiscalMonth(ROW.StartDate)
| Chèques chacun FiscalMonth et la compare aux données affectées FiscalMonth pour la date de début de l’employé. Par exemple : si la date de début de l’employé est 8/12/2016 et que l’exercice de l’organisation est le même que l’année civile, le mois affecté pour FiscalMonth(ROW.StartDate) serait de 8. En janvier de chaque année, FiscalMonth(this) renvoie une 1 . Février renvoie une 2 , etc. Cette expression n’est vraie que lorsque FiscalMonth est identique à FiscalMonth de la date de début de l’employé. C’est de cette façon qu’il est possible d’effectuer des calculs, d’année en année, en fonction d’une date anniversaire. |
ASSUM.RaiseMonth = Month(this)
| Vérifie le numéro que vous avez entré pour le RaiseMonth correspond au numéro de l’hypothèse du mois actuel. Par exemple : si vous voulez que l’augmentation soit en avril 2017, placez un 4 dans l'hypothèse RaiseMonth en avril 2017. |
ROW.PayRate[time=THIS-1]*ASSUM.RaisePct
| Définit la clause True (Vrai). Si les énoncés précédents sont vrais (tous les and relevés et l'un des or relevés), puis tous les IF conditions sont remplies, et l’augmentation (ASSUM.PaisePct ) est appliqué.Le PayRate la formule a fait référence à la période précédente [time=THIS-1] , plutôt que la période actuelle. Ceci s’explique par le fait que :
|
0
| Définit la clause False (Faux). Lorsqu’une (ou plusieurs) des entrées IF conditions ne sont pas remplies, l’augmentation est 0 et rien n’est ajouté au solde. |
Si on la lisait comme une phrase, cette formule voudrait dire :
« Si la valeur this est un mois compris dans cette version du budget, et que l’employé est embauché, et que la période est postérieure à la date de début de l’employé, et que la valeur de l’hypothèse est zéro, et que le mois en cours est le même que le mois de début de l’employé, ou que le mois en cours correspond à la valeur du mois en cours dans l’hypothèse, alors accordez une augmentation. Sinon, n’accordez pas d’augmentation. »
Autres options pour les augmentations
Les organisations ne donnent généralement pas d’augmentation lors du mois de l’augmentation
ou
d’une date anniversaire. La plupart des organisations utilisent une version plus simple de ce calcul. Option 1 :
appliquer des augmentations lors du mois d’augmentation. La formule est :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
Voici ce qui change dans le calcul :
Instruction | Description |
|---|---|
ROW.Headcount>0
| Comme avant, Headcount doit être supérieur à zéro au lieu d’être égal à 1 . Ceci permet au calcul de fonctionner pour toutes les lignes relatives à un employé détaché auprès de plusieurs services pouvant avoir moins d’un effectif dans une ligne particulière. |
ASSUM.RaiseMonth=FiscalMonth(this)
| Le RaiseMonth est comparé au mois comptable de la société. Ceci permet à l’employé qui remplit l’hypothèse de penser en termes d’exercice de la société plutôt que d’être forcé à utiliser l’année civile. |
fiscalmonth(this) = fiscalmonth(ROW.StartDate)) or ASSUM. RaiseMonth = Month(this)
| Il n'y a aucun or relevé pour la date anniversaire. L’augmentation n’est appliquée qu’au mois prévu. |
Option 2 :
appliquer les augmentations à la date anniversaire. La formule est :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)
Voir Exemples de formules - Personnel, Calculs du taux de rémunération pour d’autres options de taux de rémunération.