Dans un document, j’ai quelques formules assez costaud qui contiennent de la logique métier (par exemple : calculer le coût « chargé » d’un collaborateur à partir de son statut, son taux, la marge d’un intermédiaire, etc.). Et parfois, la même formule va apparaître dans deux tables différentes. C’est problématique pour des questions de maintenance (si je mettais à jour l’une mais pas l’autre).
Existe-t-il une façon de créer une « bibliothèque » de formules ou de fonctions que je pourrais réutiliser à divers endroits ? Quitte à en faire un module Python à importer.
Suffit d’ajouter une formule comme ça quelque part, et après, my_function est utilisable partout ailleurs. Si ça n’est pas le cas, un « Reload data engine » peut aider.
En créant les fonctions dans une table à part, il semble nécessaire de forcer l’évaluation de celle-ci avant d’appeler la fonction. Sinon, à une prochaine consultation, la formule est erronée.
Je n’ai pas encore eu l’occasion de la jouer, mais ça peut en effet être très utile de stocker une seule fois la formule et de l’appeler dans les colonnes où l’on en a besoin.
Le cas d’usage que j’envisageais concernait notamment les formules d’initialisation à des fins de data cleaning ou de contrôle de validité d’une saisie : valider le format d’une adresse mail, standardiser la forme d’un n° de téléphone, fabriquer une empreinte nom-prénom (supprimer tous les accents, espaces en trop, caractères spéciaux, etc. pour faciliter l’identification des doublons), formater un lien mailto…