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 saisies dans les hypothèses
RaiseMonth
(Mois d'augmentation) et RaisePct
(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 saisies lors de la planification sont ensuite reportées dans 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 des instructions IF dansAdaptive Planningdiffère 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.
- Month: 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 l'unité légale, qui se répète dans l'ensemble de la version.
- VersionMonth: chaque mois se voit attribuer un numéro. 0 (zéro) correspond au premier mois de la version. 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 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 saisissez le premier salaire des employés au cours du premier mois. |
ROW.Headcount>0
| Vérifie que l'employé est bien sous contrat avant d'appliquer l'augmentation du taux de rémunération. Headcount repose sur les colonnes de date de début et de fin du salarié. Il s'agit d'un déclencheur binaire dont le résultat est : 0 ou 1 pour indiquer que le salarié est sous contrat (ou pas) durant 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 contrat d'un employé. Le VersionMonth affectée à chaque période est comparée à la VersionMonth affectées à la date de début de contrat du salarié. Si la différence est supérieure à un (la période se passe après la date de début de contrat de l'employé), l'employé peut recevoir une augmentation, si toutes les autres options and sont remplies. |
ASSUM.RaiseMonth = 0
| Vérifie chaque mois que RaiseMonth hypothèse est 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èque individuel FiscalMonth et la compare à la valeur affectée FiscalMonth pour la date de début de contrat de l'employé. Par exemple, si la date de début du salarié est 8/12/2016 et que l'exercice de l'organisation correspond à l'année civile, le mois assigné à l' FiscalMonth(ROW.StartDate) serait 8. En janvier de chaque année, FiscalMonth(this) renvoie un 1 . Février renvoie un 2 , etc. Cette phrase n'est vraie que lorsque les FiscalMonth est identique à FiscalMonth De la date de début du salarié. 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 que le numéro que vous avez saisi pour la RaiseMonth l'hypothèse correspond au nombre du mois en cours. Par exemple : si vous voulez que l'augmentation prenne effet 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 instructions précédentes sont vraies (toutes les valeurs and instructions et l'une des or instructions), puis toutes les IF Les 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 IF Si les 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 "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 contrat 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 contrat 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 d'augmentation."
Options alternatives pour les augmentations
Les entreprises ne donnent généralement pas d'augmentation lors d'un mois de l'augmentation
ou
d'une date anniversaire. La plupart des entreprises utilisent une version plus simple de ce calcul. Option 1 :
accorder 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 auparavant, la Headcount doit être supérieur à zéro plutôt qu’égal à 1 . Ceci permet à la formule de fonctionner pour toutes les lignes relatives aux employés détachés auprès de plusieurs services, qui pourrait avoir une valeur inférieure à un effectif dans une rangée. |
ASSUM.RaiseMonth=FiscalMonth(this)
| Le RaiseMonth est comparé à celui du mois fiscal de l'unité légale. Ainsi, l'employé chargé des hypothèses peut les appréhender en termes d'années fiscales plutôt que d'être forcé à utiliser les années civiles. |
fiscalmonth(this) = fiscalmonth(ROW.StartDate)) or ASSUM. RaiseMonth = Month(this)
| Il n'y a pas or relevé de 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)
Pour d'autres options relatives aux taux de rémunération, voir Exemple : calculs relatifs au personnel et au taux de rémunération .