Ksaar documentation
Poser une question…
K
Links

Les Formules

Une formule est une expression qui effectue des calculs sur des valeurs dans votre base de données. Elle peut être aussi simple que l'addition de deux nombres ou aussi complexe que la transformation de plusieurs champs de données selon des critères spécifiques.
La création d'une formule se fait depuis une page d'un Workflow ou d'un Suivi. Cela peut aussi se faire directement dans une table depuis la vue Data.
Ajouter une formule depuis un workflow ou suivi
Ajouter une formule depuis la vue Data
Éditeur de formule

⬅️ Type de retour

Chaque formule a un type de retour, par exemple la formule UPPER("hello") renvoie un texte, et peut alors être utilisée partout où ce type le permet, que ce soit dans les filtres, les conditions ou dans des mises à jour de champs.
Vous devez choisir le type de retour la première fois que vous éditez votre formule et vous ne pourrez plus le changer par la suite.

🛑 Gestion des erreurs

  • Vérification de la syntaxe : L'éditeur des formules s'assure de la justesse syntaxique de votre expression. Si la formule est incorrecte, comme dans le cas d'une parenthèse manquante, cela vous sera signalé et elle ne sera pas sauvegardée.
  • Erreurs à l'exécution : Si une formule génère une erreur lors de son exécution (par exemple si on a 2 ^ "hello"), elle retournera une valeur nulle et sera traitée de cette manière.

≠ Différence avec les formules de texte

Contrairement aux formules de texte, les formules permettent de manipuler tout type de champs, il est alors nécessaire de placer les variables dans des fonctions ou d'utiliser des opérateurs.
Par exemple, Utilisateur : {Prénom} {Nom} dans une formule de texte devient "Utilisateur : " & {Prénom} & " " & {Nom} dans une formule.

🔗 🔗 Liaisons multiples dans les formules

Il est possible d'utiliser un champ issu d'une Liaisons multiples dans les formules. En passant par une Liaisons multiples, on obtient la liste des valeurs des enregistrements liés pour le champ choisi, qui peut être manipulé avec les fonctions sur les listes.
Par exemple, {Liaisons multiples -> Nombre} peut donner [5,2,3,2,4] s'il y a 5 enregistrements dans la liaison, avec ces valeurs pour le champ Nombre. Donc SUM({Liaisons multiples -> Nombre}) donne ici 16, la somme des nombres des enregistrements qui sont dans cette Liaisons multiples.

📖 Fonctions disponibles dans les formules

Opérateurs
Texte
Math
Date
Formatage
Liste
Ksaar
Logique / Autre

Les opérateurs

Opération
Description
{A} & {B}
Concaténation
{A} + {B}
Addition
{A} - {B}
Soustraction
{A} * {B}
Multiplication
{A} / {B}
Division
{A} % {B}
Modulo
{A} ^ {B}
Puissance
{A} = {B}, {A} == {B} ou {A} === {B}
Égalité
{A} != {B}, {A} !== {B} ou {A} <> {B}
Différence
{A} > {B}
Supérieur
{A} >= {B}
Supérieur ou égal
{A} < {B}
Inférieur
{A} <= {B}
Inférieur ou égal
{A} && {B}
Et
{A} || {B}
Ou
!{A}
Inverse
(paramètres) => (expression)
Lambda

Fonctions de texte

CHAR

Résumé

La fonction CHAR renvoie le caractère correspondant à un code numérique donné.

Syntaxe

  • CHAR(code)

Exemple

  • CHAR(65)A
CODE

Résumé

La fonction CODE renvoie le code numérique d'un caractère donné.

Syntaxe

  • CODE(caractère)

Exemple

  • CODE("A")65
CONCATENATE

Résumé

La fonction CONCATENATE ou & concatène (fusionne) plusieurs chaînes de caractères en une seule.

Syntaxe

  • CONCATENATE(texte1, [texte2, ...])
  • texte1 & texte2

Exemple

  • CONCATENATE("Hello", " ", "world")Hello world
  • "Hello" & " " & "world"Hello world
DECODE_URL

Résumé

La fonction DECODE_URL décode une URL encodée pour la rendre lisible.

Syntaxe

  • DECODE_URL(urlEncodé)

Exemple

  • DECODE_URL("Hello%20world")Hello world
ENCODE_URL

Résumé

La fonction ENCODE_URL encode du texte pour qu'il puisse être utilisé dans une URL.

Syntaxe

  • ENCODE_URL(url)

Exemple

  • ENCODE_URL("Hello world")Hello%20world
FIND

Résumé

La fonction FIND permet de chercher un élément dans une liste et de retourner la position de la première occurence. La fonction permet aussi de chercher une chaîne de caractères à l'intérieur d'une autre. Contrairement à SEARCH, cette fonction est sensible à la casse.

Syntaxe

  • FIND(liste, recherche, positionDébut = 1)

Exemple

  • FIND("b", ["a","b","c","a","b","c"])2
  • FIND("world", "Hello world")7
  • FIND("WORLD", "Hello world")0
JOIN

Résumé

La fonction JOIN joint plusieurs chaînes de caractères en une seule, en utilisant un séparateur.

Syntaxe

  • JOIN(séparateur, element1, [element2, ...])

Exemple

  • JOIN("-", "Hello", "world", "!")Hello-world-!
LEFT

Résumé

La fonction LEFT renvoie un nombre spécifié de caractères de la chaîne de caractères à partir de la gauche.

Syntaxe

  • LEFT(texte, nombre)

Exemple

  • LEFT("Hello", 3)Hel
LEN

Résumé

La fonction LEN renvoie le nombre de caractères dans une chaîne de caractères, ou le nombre d'éléments dans une liste.

Syntaxe

  • LEN(texte)
  • LEN(liste)

Exemple

  • LEN("Hello")5
  • LEN([4, 5, 6])3
LOWER

Résumé

La fonction LOWER transforme tous les caractères d'une chaîne de caractères en minuscules.

Syntaxe

  • LOWER(texte)

Exemple

  • LOWER("HELLO")hello
MID

Résumé

La fonction MID renvoie une sous-chaîne d'une chaîne de caractères, en commençant à une position spécifiée et d'une longueur spécifiée.

Syntaxe

  • MID(texte, début, longueur)

Exemple

  • MID("Hello", 2, 3)ell
PROPER

Résumé

La fonction PROPER met la première lettre de chaque mots d'un texte en majuscule.

Syntaxe

  • PROPER(texte)

Exemple

  • PROPER("hello WORLD")Hello World
REGEX_EXTRACT

Résumé

La fonction REGEX_EXTRACT extrait les correspondances d'une expression régulière dans une chaîne de caractères.
Vous pouvez retrouver la documentation sur les expressions régulières ici.

Syntaxe

  • REGEX_EXTRACT(texte, expression_régulière)

Exemple

  • REGEX_EXTRACT("Hello123world", "\d+")123
REGEX_MATCH

Résumé

La fonction REGEX_MATCH vérifie si une chaîne de caractères correspond à une expression régulière donnée.
Vous pouvez retrouver la documentation sur les expressions régulières ici.

Syntaxe

  • REGEX_MATCH(texte, expression_régulière)

Exemple

  • REGEX_MATCH("Hello123", "\d+")true
REGEX_REPLACE

Résumé

La fonction REGEX_REPLACE remplace le texte qui correspond à une expression régulière par du texte donné.
Vous pouvez retrouver la documentation sur les expressions régulières ici.

Syntaxe

  • REGEX_REPLACE(texte, expression_régulière, remplacement)

Exemple

  • REGEX_REPLACE("Hello123", "\d+", "!")Hello!
REPLACE

Résumé

La fonction REPLACE remplace une partie d'une chaîne de caractères, en commençant à une position spécifiée et d'une longueur spécifiée, par une autre.

Syntaxe

  • REPLACE(texte, début, longueur, nouveauTexte)

Exemple

  • REPLACE("Hello", 2, 3, "world")Hworldo
SPLIT

Résumé

La fonction SPLIT divise une chaîne de caractères en plusieurs chaînes, basées sur un séparateur.

Syntaxe

  • SPLIT(texte, caractère)

Exemple

  • SPLIT("Hello-world", "-")["Hello", "world"]
SUBSTITUTE

Résumé

La fonction SUBSTITUTE remplace du texte par du nouveau texte dans une chaîne de caractères.

Syntaxe

  • SUBSTITUTE(texte, ancienTexte, nouveauTexte, occurrence = -1)

Exemple

  • SUBSTITUTE("world world", "world", "Hello", 1)Hello world
TRIM

Résumé

La fonction TRIM supprime les espaces inutiles dans une chaîne de caractères et garde uniquement un espace entre chaque mots.

Syntaxe

  • TRIM(texte)

Exemple

  • TRIM(" Hello ")Hello
UPPER

Résumé

La fonction UPPER transforme tous les caractères d'une chaîne de caractères en majuscules.

Syntaxe

  • UPPER(texte)

Exemple

  • UPPER("hello")HELLO

Fonctions mathématiques

ABS

Résumé

La fonction ABS renvoie la valeur absolue de d'un nombre.

Syntaxe

  • ABS(x)

Exemple

  • ABS(-5)5
ACOS

Résumé

La fonction ACOS renvoie l'arc cosinus d'un nombre.

Syntaxe

  • ACOS(x)

Exemple

  • ACOS(0.5)1.047...
ACOSH

Résumé

La fonction ACOSH renvoie l'arc cosinus hyperbolique d'un nombre.

Syntaxe

  • ACOSH(x)

Exemple

  • ACOSH(1.5)0.962...
ADD

Résumé

La fonction ADD, ou l'opérateur +, renvoie la somme de deux nombres. Contrairement à SUM, cette fonction ne prend que deux arguments et peut gérer plusieurs types comme les listes ou les matrices.

Syntaxe

  • ADD(a, b)
  • a + b

Exemple

  • ADD(3, 4)7
  • ADD([1, 2, 3], 10)[11, 12, 13]
  • ADD([1, 2, 3], [4, 5, 6])[5, 7, 9]
ASIN

Résumé

La fonction ASIN renvoie l'arc sinus d'un nombre.

Syntaxe

  • ASIN(x)

Exemple

  • ASIN(0.5)0.524...
ASINH

Résumé

La fonction ASINH renvoie l'arc sinus hyperbolique d'un nombre.

Syntaxe

  • ASINH(x)

Exemple

  • ASINH(0.5)0.481...
ATAN

Résumé

La fonction ATAN renvoie l'arc tangente d'un nombre.

Syntaxe

  • ATAN(x)

Exemple

  • ATAN(1)0.785...
ATANH

Résumé

La fonction ATANH renvoie l'arc tangente hyperbolique d'un nombre.

Syntaxe

  • ATANH(x)

Exemple

  • ATANH(0.5)0.549...
AVERAGE

Résumé

La fonction AVERAGE renvoie la moyenne des valeurs fournies. Cette fonction peut prendre plusieurs arguments ainsi que des listes ou sous-listes et s'applique sur tous les nombres trouvés.

Syntaxe

  • AVERAGE(valeur1, [valeur2, ...])

Exemple

  • AVERAGE(1, 2, 3, 4)2.5
  • AVERAGE(1, [[2], 3, 4]) -> 2.5
CBRT

Résumé

La fonction CBRT renvoie la racine cubique d'un nombre.

Syntaxe

  • CBRT(x)

Exemple

  • CBRT(27)3
CEILING

Résumé

La fonction CEILING renvoie le plus grand entier (ou multiple, si spécifié) qui est supérieur ou égal à un nombre.

Syntaxe

  • CEILING(x, facteur = 0)

Exemple

  • CEILING(4.5)5
COS

Résumé

La fonction COS renvoie le cosinus du nombre fourni.

Syntaxe

  • COS(x)

Exemple

  • COS(1)0.540...
COSH

Résumé

La fonction COSH renvoie le cosinus hyperbolique d'un nombre.

Syntaxe

  • COSH(x)

Exemple

  • COSH(1)1.543...
DIVIDE

Résumé

La fonction DIVIDE, ou l'opérateur /, renvoie le résultat de la division de deux nombres.

Syntaxe

  • DIVIDE(a, b)
  • a / b

Exemple

  • DIVIDE(8,2)4
E

Résumé

E représente la constante mathématique e, qui est la base des logarithmes naturels.

Syntaxe

  • E

Exemple

  • E2.718... = EXP(1)
EXP

Résumé

La fonction EXP est la fonction exponentielle et renvoie donc e élevé à la puissance d'un nombre.

Syntaxe

  • EXP(x)

Exemple

  • EXP(1)2.718...
FACT

Résumé

La fonction FACT renvoie la factorielle d'un nombre.

Syntaxe

  • FACT(n)

Exemple

  • FACT(5)120
FLOOR

Résumé

La fonction FLOOR renvoie le plus grand entier (ou multiple, si spécifié) qui est inférieur ou égal à un nombre.

Syntaxe

  • FLOOR(x, facteur = 0)

Exemple

  • FLOOR(4.5)4
LOG

Résumé

La fonction LOG renvoie le logarithme, selon la base que vous souhaitez, d'une nombre. Le logarithme par défaut est le logarithme népérien (en base e).

Syntaxe

  • LOG(x)

Exemple

  • LOG(E)1
  • LOG(10,10) -> 1
MAX

Résumé

La fonction MAX renvoie la valeur maximale parmi les arguments fournis. Cette fonction peut prendre plusieurs arguments ainsi que des listes ou sous-listes et s'applique sur tous les nombres trouvés.

Syntaxe

  • MAX(valeur1, [valeur2, ...])

Exemple

  • MAX(1, 2, 3, 4)4
  • MAX(1, [2, 3, [4]])4
MIN

Résumé

La fonction MIN renvoie la valeur minimale parmi les arguments fournis. Cette fonction peut prendre plusieurs arguments ainsi que des listes ou sous-listes et s'applique sur tous les nombres trouvés.

Syntaxe

  • MIN(valeur1, [valeur2, ...])

Exemple

  • MIN(1, 2, 3, 4)1
  • MIN([[1], 2, 3], 4)1
MINUS

Résumé

La fonction MINUS, ou l'opérateur -, renvoie la soustraction de deux nombres.

Syntaxe

  • MINUS(a, b)
  • a - b

Exemple

  • MINUS(5, 3)2
MOD

Résumé

La fonction MOD, ou l'opérateur %, renvoie le reste de la division de deux nombres.

Syntaxe

  • MOD(a, b)
  • a % b

Exemple

  • MOD(7, 3)1
MROUND

Résumé

MROUND arrondit un nombre au multiple le plus proche spécifié.

Syntaxe

MROUND(nombre, multiple)

Exemple

  • MROUND(7, 3)6
MULTIPLY

Résumé

La fonction MULTIPLY, ou l'opérateur *, renvoie le produit de deux nombres. Contrairement à PRODUCT, cette fonction ne prend que deux arguments et peut gérer plusieurs types comme les listes ou les matrices.

Syntaxe

  • MULTIPLY(a, b)
  • a * b

Exemple

  • MULTIPLY(3, 4)12
  • MULTIPLY([1, 2, 3], 10)[10, 20, 30]
  • MULTIPLY([[1, 2, 3]], [[1], [10], [100]])[[321]]
PI

Résumé

PI représente la constante mathématique π (pi).

Syntaxe

  • PI

Exemple

  • PI3.142...
POWER

Résumé

La fonction POWER, ou POW, ou l'opérateur ^, renvoie un nombre élevé à la puissance d'un deuxième nombre.

Syntaxe

  • POWER(a, b)
  • POW(a, b)
  • a ^ b

Exemple

  • POWER(2, 3)8
PRODUCT

Résumé

La fonction PRODUCT renvoie le produit de ses arguments. Contrairement à MULTIPLY, cette fonction peut prendre plusieurs arguments ainsi que des listes ou sous-listes et s'applique sur tous les nombres trouvés.

Syntaxe

  • PRODUCT(a, [b, ...])

Exemple

  • PRODUCT(3, 4)12
  • PRODUCT(2, [3, 4])24
RANDOM

Résumé

RANDOM renvoie un nombre aléatoire entre 0 et 1.

Syntaxe

RANDOM()

Exemple

  • RANDOM()0.472...
ROUND

Résumé

ROUND arrondit un nombre au nombre de décimales spécifié.

Syntaxe

ROUND(nombre, decimales = 0)

Exemple

  • ROUND(3.14159, 2)3.14
SIGN

Résumé

SIGN renvoie le signe d'un nombre, soit -1, 0 ou 1.

Syntaxe

SIGN(x)

Exemple

  • SIGN(-5)-1