functionFormule

Fonctionne sur le champs integer, float, et date (support date en bêta) ❌ !

La formules est une suite d'opération mathématique permettant d'obtenir un résultat.

Dans notre cas d'utilisation cette feature permet de créer des variables par des formules mais aussi via la valeurs d'autre variables dans le dataset.

Cette feature est particulièrement utile pour modéliser des relations logiques entre tes données : calculer un prix TTC à partir d'un prix HT, dériver un score à partir de plusieurs métriques, ou encore borner une valeur dans une plage réaliste.

Contraintes importantes

Les variables doivent être déclarées avant le champ qui les utilise. La formule est évaluée au moment de la génération du champ cible : seuls les champs définis au-dessus dans le YAML sont accessibles. Si tu références un champ déclaré après, il ne sera pas encore disponible et la génération échouera.

triangle-exclamation

Créer une formule

Pour activer ce mode de calcul, il suffit d'ajouter le champ formula dans la définition de ton champ YAML. La valeur est une expression mathématique sous forme de chaîne de caractères.

Les champs du dataset se référencent directement par leur fieldName. Si ton champ s'appelle budget, tu écris simplement budget dans ta formule — pas de syntaxe spéciale, pas de préfixe.

Le champ rules.range reste utilisable pour borner le résultat final si la formule peut produire des valeurs hors de la plage souhaitée. (Pas sûr en bêta)


//Variable d'origine présente dans la formule ci-dessous
- fieldName: budget
    type: integer
    rules:
      range:
        min: -10
        max: 101
- fieldName: test_formula
    type: integer
    
    formula : "sqrt(budget)* pi"
    
chevron-rightListe d'exemple plus complexehashtag

Scénario : tu génères des profils d'emprunteurs avec un score de risque calculé à partir de plusieurs indicateurs financiers, en utilisant des fonctions logarithmiques et des racines pour modéliser des relations non-linéaires réalistes (comme en vrai scoring bancaire).

Scénario : tu génères des mesures acoustiques dans différents environnements (salle de concert, open space, entrepôt...) avec le niveau sonore perçu calculé selon la distance à la source, les propriétés du milieu, et l'absorption de l'air.

Liste des variables et operateurs disponibles

Opérateur arythmétique

Symbole

Nom

Description

Exemple

+

Addition

Additionne deux valeurs.

10 + 515

-

Soustraction

Soustrait la deuxième valeur de la première.

10 - 55

*

Multiplication

Multiplie deux valeurs.

10 * 550

/

Division

Divise la première valeur par la deuxième.

10 / 42.5

**

Puissance

Élève le nombre à la puissance indiquée.

2 ** 38

%

Modulo

Retourne le reste d'une division entière.

10 % 31

Compariason et logiques

Symbole / Mot-clé

Type

Description

==

Comparaison

Vérifie si deux valeurs sont strictement égales.

!=

Comparaison

Vérifie si deux valeurs sont différentes.

< , >

Comparaison

Strictement inférieur ou strictement supérieur.

<= , >=

Comparaison

Inférieur ou égal / Supérieur ou égal.

and , &

Logique

Vrai si les deux conditions sont vraies.

or , `

`

Logique

not

Logique

Inverse l'état (Vrai devient Faux et vice versa).

^

Logique

XOR (Vrai si une seule des deux conditions est vraie).

Fonction Mathématiques avancé

Fonction

Description

Exemple

sqrt(x)

Racine carrée.

sqrt(16)4

abs(x)

Valeur absolue (rend le nombre positif).

abs(-5)5

log(x)

Logarithme népérien.

log(1)0

exp(x)

Exponentielle.

exp(0)1

sin, cos, tan

Fonctions trigonométriques (en radians).

sin(pi/2)1

round(x)

Arrondi à l'entier le plus proche.

round(2.6)3

floor(x)

Arrondi à l'entier inférieur.

floor(2.9)2

ceil(x)

Arrondi à l'entier supérieur.

ceil(2.1)3

Fonction Utilitaire

Fonction

Description

Exemple

if(cond, a, b)

Si la condition est vraie, retourne a, sinon b.

if(score > 10, "Gagné", "Perdu")

clamp(x, min, max)

Force une valeur à rester dans une fourchette.

clamp(15, 0, 10)10

min(a, b, ...)

Retourne la plus petite valeur d'une liste.

min(1, 5, -2)-2

max(a, b, ...)

Retourne la plus grande valeur d'une liste.

max(1, 5, -2)5

noise(x, pct)

Ajoute un pourcentage de variation aléatoire à x.

noise(100, 10)90 à 110

coalesce(...)

Retourne la première valeur non nulle (non-None).

coalesce(null, "Salut")"Salut"

Date et Constante

Constante

Valeur Approchée

Description

golden_ratio

1.61803...

Le Nombre d'Or (), utilisé en design et géométrie.

sqrt2

1.41421...

Racine carrée de 2 ().

sqrt3

1.73205...

Racine carrée de 3 ().

ln2

0.69314...

Logarithme népérien de 2.

ln10

2.30258...

Logarithme népérien de 10.

euler_mascheroni

0.57721...

Constante d'Euler (), utilisée en théorie des nombres.

days_between(a, b)

Fonction (en Bêta)

Calcule le nombre de jours entre deux dates.

add_days(date, n)

Fonction (en Bêta)

Ajoute n jours à une date donnée.

pi

π

La valeur π

Last updated