Tableau en entrée :
La colonne de référence est la colonne "Ensemble".
L'objectif est de coloriser les fonds de cellules en rouge / vert quand la différence est inférieure / supérieure de 15% à la colonne ensemble.
Première étape : Script de calcul
# Récupération du tableau
t = ARG1
# Seuil de comparaison par rapport (0.15 car les nombres sont au format pourcentage)
SEUILCOMP = 0.15
# Récupération de la première colonne de référence
Base = t.Columns[1].Calculations["CALC1"]
# Récupération des autres colonnes à tester contre la colonne de référence
Crit = t.Columns.Remove(1).Calculations["CALC1"]
# Calcul de la différence entre le critère et la base
delta = Crit - Base
#Fonction de transformation du delta
def ApplyThreshold(x, s):
if x >= s:
return "Pos"
elif x <= -s:
return "Neg"
return ""
#Application de la fonction valeurs par valeurs
delta.ChangeValues(lambda x: ApplyThreshold(x, SEUILCOMP))
# Résultat final avec stockage d'un nouveau calcul résultat : "DELTA"
t = MergeCalculations (t.Calculations["CALC1"],MergeColumns (Base,delta))
SetCalculationText (t, 2, "DELTA")
RESULT = t
Seconde étape : Mise en forme
Cette étape se décompose en 3 blocs :
- Mise en forme des calculs (%)
- Mise en forme des valeurs
- Suppression du calcul "DELTA"
Détails de la mise en forme des valeurs :
Résultat :
Aucun commentaire:
Enregistrer un commentaire