Paramètre « sum » : somme des différentes valeurs rassemblées dans une même cellule d’un export tabulaire
L’utilisation du paramètre sum
indique que la valeur d’une cellule doit être déduite de la somme des différents sources indiquées pour une colonne.
Prenons comme exemple une fiche budgétaire disposant d’un champ de type Propriété indiquant le montant initial alloué appelé propriete_montantinitial
. Cette fiche peut être liée à une ou plusieurs fiches de réévaluation (corpus_reevaluation
) disposant d’un champ de type Propriété appelé propriete_montant
qui indique des ajouts au montant budgétaire initial. On désire faire l’export tabulaire des fiches budgétaires et disposer d’une colonne qui récapitule le total du montant initial et des réévaluations. Cette opération est possible avec le paramètre sum
comme indiqué ci-dessous :
recapitulatif
faisant la somme des montantsrecapitulatif > fr="Récapitulatif du budget"
propriete_montantinitial,corpus_reevaluation/propriete_montant
{code}
cast=money,sum
Comme le montre l’exemple, le paramètre sum
est utilisé en conjonction avec le paramètre cast
car il faut bien sûr que la somme des données en question ait un sens (faire la somme de chaines de caractères n’a pas de sens. sum
ne fonctionnent donc qu’avec les valeurs suivantes pour cast
: integer
, decimal
, percentage
ou money
(à condition dans ce dernier cas que la devise soit la même). Il faut utiliser un formatage des données qui fonctionne avec cast
(le mieux est d’utiliser {code}
).
À noter que les paramètres de séparateur (sep
, sep1_2
, etc.) sont ignorés lorsque sum
est présent, le séparateur est toujours le point-virgule.
sum
peut être utilisé sans le paramètre cast
mais il doit alors se voir attribuer une des valeurs integer
, decimal
, percentage
ou money
. Cette option est utile pour le débogage. En effet, s’il y a un problème de format dans une des valeurs (par exemple, si les devises sont différentes), un message d’erreur sera affiché à la place mais celui-ci est transformé par une valeur nulle par l’intervention de cast
. En n’utilisant pas ce dernier, le message d’erreur devient visible.
recapitulatif > fr="Récapitulatif du budget"
propriete_montantinitial,corpus_reevaluation/propriete_montant
{code}
sum=money
Il est possible d’indiquer une valeur pour sum
si cast
est présent mais il y a des risques d’incohérence (sum
=
money
et cast
=
decimal
donnera une valeur nulle car cast
va tenter de transformer une valeur monétaire en nombre décimal). Le seul cas qui peut se justifier est avec la valeur integer
qui ne conserve la valeur entière d’une valeur décimale ; il en suit les deux comportements différents :
cast
=
integer
,
sum
=
decimal
: les différentes valeurs décimales sont additionnées et on ne garde que la partie entière du résultatcast
=
integer
,
sum
: chaque valeur est réduite à sa partie entière et ces dernières sont additionnées.
Dans le premier cas, 145,65 sommé à 3,87 donnera 149 (145,65 + 3,87 = 149,52 soi 149) et dans le deuxième cela donnera 148 (145 + 3).
Ce paramètre ne doit pas être confondu avec le paramètre columnsum
qui, lui, fait la somme totale d’une colonne.