Les calculs dans l'outil de pilotage de la rémunération variable Varicent permettent de mettre en place les logiques fonctionnelles de la rémunération variable. Ces calculs reposent sur des données qui sont disponibles dans les différentes tables (de faits, de configurations, de référentiels…)

Pour créer un calcul Composer → Palette → Calcul :

Mise en place des calculs de rémunération variable avec Varicent

Il existe 4 types de calculs :

Mise en place des calculs de rémunération variable avec Varicent

Les différents types de calculs dans Varicent

Les calculs définis par l'utilisateur

Ce type de calcul représente 99% des calculs. C’est dans ce type de calculm que l’on effectue les jointures entre les sources et que l’on définit les formules des calculs liées à cette étape.

Le calcul défini par l’utilisateur se déroule en 4 temps :

1) Sélection des sources

NB : Nous vous conseillons de passer par plusieurs calculs si vous avez plus de 3 sources)

Mise en place des calculs de rémunération variable avec Varicent

Ici les sources sont :

  • Source 1 : Calcul antérieur (Chiffre d’affaires et quantités par collaborateurs période et Famille de produit)
  • Source 2 : Table temporelle période
  • Source 3 : Table de configuration par famille et système

Il est possible d'ancrer une des sources avec le bouton suivant :

Mise en place des calculs de rémunération variable avec Varicent Fonctionne comme un LEFT JOIN pour les sources suivantes

Cela permet de conserver l'intégralité des données de la table ancrée. Sans l’ancrage, il faut que les données correspondent au niveau des restrictions dans toutes les tables. Si besoin, il faut utiliser les restrictions globales pour imposer des limitations dans la sélection.

2) Mise en place des restrictions

Sélection des jointures (connexions entre les sources)

Mise en place des calculs de rémunération variable avec Varicent

Comme vu dans la partie 1) Sélection des sources, il existe des restrictions globales (en bas de la capture d’écran). Là où les restrictions classiques se rapprochent des conditions de jointure, les restrictions globales correspondent à la clause WHERE en SQL.

3) Sélection des colonnes de partitions

Ce sont les colonnes qui définissent la granularité du calcul (instruction GROUP BY en SQL)

Mise en place des calculs de rémunération variable avec Varicent

4) Définition des formules de calcul (12 maximum)

Mise en place des calculs de rémunération variable avec Varicent

Il est possible dans les formules, d’utiliser les différentes fonctions suivantes :

  • SUM() : Réalise la somme des éléments - à utiliser fréquemment pour s’assurer de ne pas faire de produits cartésiens
  • COUNT() : Permet de compter le nombre d’enregistrements
  • MAX() : L’opérateur renvoie la valeur maximale
  • MIN() : L’opérateur renvoie la valeur minimale
  • AVG() : L’opérateur renvoie la valeur moyenne
  • IF() : Permet de faire des tests logiques et de fournir un résultat vrai et faux
  • ISEMPTY() : Réalise un test Si NULL Alors“Vrai” Sinon “Faux” sur l’élément entre parenthèses
  • AND() : L’opérateur permet la réalisation de plusieurs tests logiques. Ne renvoie VRAI que si l’ensemble des tests sont validés
  • OR() : L’opérateur permet la réalisation de plusieurs tests logiques. Renvoie VRAI dès lors qu’au moins un test est validé
  • NOT() : Cet opérateur renvoie des résultats lorsqu'une condition n'est pas remplie. Elle permet d’exclure des enregistrements de vos résultats.
  • ABS() : Renvoie la valeur absolue de l’élément.
    • Par exemple : 25410 => 25410 / -137 => 137
  • ROUND() : L’opérateur renvoie la valeur arrondi de l’élément. Le degré d’arrondi est défini par la valeur saisie après la virgule dans la formule. Point important : L’arrondi d’un 5 se fait par défaut.
    • Par exemple : Round(1,5;1) = 1 alors que Round(1,51;1) = 2
  • ROUND DOWN() : L’opérateur renvoie la valeur arrondi basse de l’élément. Le degré d’arrondi est défini par la valeur saisie après la virgule dans la formule.
    • Par exemple : Round Down(1,82;1) = 1
  • MULT() : Permet de multiplier ensemble plusieurs valeurs numériques.
  • PREV() : Affiche la valeur précédente d’un calcul
  • POW() : Permet la création d’une exponentielle.

Dans ce type de calcul, on a la possibilité d’effectuer des aperçus pour contrôler les données :

  • Depuis les étapes 1 et 2, l’aperçu est brut, c’est à dire hors group by.
  • Depuis les étapes 3 et 4, les aperçus sont après cumul donc post group by.

Les aperçus nécessitent que les sources soient “figées” : si 3 calculs s’enchaînent et que les 2 premiers n’ont pas été exécutés (donc sont vides) alors l’aperçu dans le 3ème calcul n’est pas disponible.

Les autres types de calculs sont en complément du type de calcul "Défini par l'utilisateur".

Ces calculs sont souvent utilisés comme une étape parallèle pour numéroter, catégoriser ou décaler les valeurs d'un autre calcul. Ils sont donc pour la plupart suivis d'une jointure sur un calcul de type défini par l'utilisateur pour appliquer la logique voulue.

Les calculs "Trier"

Ce type de clacul permet d’organiser l’ordre des éléments calculés ou d’une table tout en numérotant dans une nouvelle colonne cet ordre.

Cela correspond à l’instruction SQL : RANK () OVER (PARTITION BY y ORDER BY x)

Le calcul « Trier » se déroule en 4 étapes :

  1. Sources – Sélection des sources
  2. Restrictions – Définition des jointures
  3. Trier les données – Tri à appliquer
  4. Afficher les colonnes – Affichage

Les calculs "Catégorie"

Le type de calcul Catégorie permet d’attribuer une catégorie spécifique par ligne selon un ensemble de valeurs/attributs.

Cela correspond à l’instruction SQL : CASE WHEN

Le calcul “Catégorie” se déroule en 3 étapes :

1. Sources – Sélection des sources
2. Restrictions – Définition des jointures
3. Conditions – Condition à appliquer

Les calculs "décalage dans le temps"

Ce type de calcul permet de sortir un calcul de la même structure que celui sur lequel il se base mais avec un décalage (paramétrable sur les valeurs).

Ce calcul peut ne pas être utilisé si l'architecte a préféré utiliser des tables temps. (Voir la section des tables de temps)

Les tables de temps systèmes standards dans Varicent

Selon l'architecture, des tables peuvent être mises en place pour effectuer des calculs sur les dates. Ces tables de temporalité sont différentes et indépendantes des calendriers de verrouillage. Les tables temps systèmes sont aussi modifiées en fonction des besoins spécifiques du client.

On distingue 3 tables de temps différentes dans Varicent

Les tables par période (par mois)

Code Période, label, date début, date de fin, trimestre, année…

Période Texte : 2018, P01 JANV | Période Nom : janv-18 | Date début : 01/01/2018 | Date fin : 31/01/2018 | Nbre de jours : 31
Période Texte : 2018, P02 FEVR | Période Nom : févr-18 | Date début : 01/02/2018 | Date fin : 28/02/2018 | Nbre de jours : 28
Période Texte : 2018, P03 MARS | Période Nom : mars-18 | Date début : 01/03/2018 | Date fin : 31/03/2018 | Nbre de jours : 31
Période Texte : 2018, P04 AVR | Période Nom :avr-18 | Date début : 01/04/2018 | Date fin : 30/04/2018 | Nbre de jours : 30
Période Texte : 2018, P05 MAI | Période Nom : mai-18 | Date début : 01/05/2018 | Date fin : 31/05/2018 | Nbre de jours : 31
Période Texte : 2018, P06 JUIN | Période Nom : juin-18 | Date début : 01/06/2018 | Date fin : 30/06/2018 | Nbre de jours : 30
Période Texte : 2018, P07 JUIL | Période Nom : juil-18 | Date début : 01/07/2018 | Date fin : 31/07/2018 | Nbre de jours : 31
Période Texte : 2018, P08 AOUT | Période Nom : août-18 | Date début : 01/08/2018 | Date fin : 31/08/2018 | Nbre de jours : 31

les tables par trimestre

Code Trimestre, label, date début, date de fin, année...

Trimestre Texte : 2018, TRIMESTRE 1 | Trimestre Nom : 2018, TRIMESTRE 1 | Date Début : 01/01/2018 | Date Fin : 31/03/2018 | Nombre De Jours : 89 | Trimestre Valeur :1
Trimestre Texte : 2018, TRIMESTRE 2 | Trimestre Nom : 2018, TRIMESTRE 2 | Date Début : 01/04/2018 | Date Fin : 30/06/2018 | Nombre De Jours : 90 | Trimestre Valeur : 2
Trimestre Texte : 2018, TRIMESTRE 3 | Trimestre Nom : 2018, TRIMESTRE 3 | Date Début : 01/07/2018 | Date Fin : 30/09/2018 | Nombre De Jours : 91 | Trimestre Valeur : 3
Trimestre Texte : 2018, TRIMESTRE 4 | Trimestre Nom : 2018, TRIMESTRE 4 | Date Début : 01/10/2018 | Date Fin : 31/12/2018 | Nombre De Jours : 91 | Trimestre Valeur : 4

Les tables par année

Code Année, label…

Année Texte : 2018 | Année Num 2 018 | Date Début : 01/01/2018 | Date Fin : 31/12/2018 | Nombre De jours : 365 | Nombre De Semaines : 52 | Niveau du rapport : 2018

La logique d’attribut

Afin de différencier les résultats en fonction des différents scénarios, on définit le type d’accumulation de la ligne sur un calcul.

Code Attribut : AAD | Nom Attribut : Année à date | Code Type Accumulation : AAD
Code Attribut : ANNUEL | Nom Attribut : Annuel | Code Type Accumulation : ANNUEL
Code Attribut : MENSUEL | Nom Attribut : Mensuel | Code Type Accumulation : MENSUEL
Code Attribut : TAD | Nom Attribut : Trimestre à date | Code Type Accumulation : TAD
Code Attribut : TRIMESTRIEL | Nom Attribut : Trimestriel | Code Type Accumulation : TRIMESTRIEL

Démonstration

Pour illustrer, prenons l’exemple d’un chiffre d’affaires par collaborateur par mois, qu’on désire transposer en Année à date.

Table de facturation

Mise en place des calculs de rémunération variable avec Varicent

Agrégation au mois

Mise en place des calculs de rémunération variable avec Varicent

Ensuite on peut aussi ressortir le résultat en année à date en jouant avec les calendriers.

Agrégation année à date

Mise en place des calculs de rémunération variable avec Varicent

Ici on voit que, pour le CLI-A et CLI-C, les données sont cumulées de mois en mois.

function manageBackwardButtonDisplaying() { var referrerHostname = !!document.referrer ? (new URL(document.referrer)).hostname : null; var hostname = (new URL(window.location.href)).hostname; var referrerIsNotNext = (hostname !== referrerHostname) var backwardButton = document.getElementById("backward_button"); if (!!backwardButton && !!referrerIsNotNext) { backwardButton.style.display = "none"; } } window.onload = manageBackwardButtonDisplaying;

Faites confiance à l'expertise de Next Decision pour vous accompagner dans vos projets de rémunération variable avec Varicent ! Contactez-nous !