Aller au contenu principal

Formules

Les champs Formule dans les boards Copera vous permettent de créer des colonnes calculées qui dérivent automatiquement leurs valeurs à partir d'autres données de vos lignes. Propulsé par le Copera Formula Engine -- un langage de formules dédié avec son propre analyseur et évaluateur -- vous pouvez construire tout, des arithmétiques simples à la logique conditionnelle complexe et aux calculs de dates.

Vue d'ensemble du langage de formules

Les formules Copera utilisent une syntaxe similaire aux formules de tableur. Chaque formule est évaluée par ligne, avec accès à toutes les valeurs de colonnes de cette même ligne. Le moteur de formules prend en charge :

  • Opérateurs arithmétiques : +, -, *, / pour les opérations mathématiques
  • Concaténation de chaînes : & pour joindre des valeurs textuelles
  • Opérateurs de comparaison : =, !=, >, <, >=, <=
  • Opérateurs logiques : AND, OR, NOT pour combiner des conditions
  • Références de champs : Référencez d'autres colonnes en entourant le nom de la colonne d'accolades, par ex. {Column Name}
  • Fonctions imbriquées : Les fonctions peuvent être utilisées comme arguments d'autres fonctions

Syntaxe de base

{Price} * {Quantity}

Cette formule multiplie la valeur de la colonne « Price » par la colonne « Quantity » pour chaque ligne.

IF({Status} = "Done", "Complete", "Pending")

Cette formule renvoie « Complete » lorsque la colonne Status est égale à « Done », et « Pending » sinon.

Référence des fonctions

Le Copera Formula Engine fournit plus de 100 fonctions organisées dans les catégories suivantes. Voici une référence des fonctions les plus couramment utilisées.

Fonctions mathématiques

FonctionDescriptionExemple
ABS(number)Valeur absolueABS({Balance})
CEIL(number)Arrondir à l'entier supérieurCEIL({Score} / 10)
FLOOR(number)Arrondir à l'entier inférieurFLOOR({Price})
ROUND(number, decimals)Arrondir au nombre de décimales spécifiéROUND({Average}, 2)
MIN(a, b, ...)Plus petite valeurMIN({Estimate}, {Budget})
MAX(a, b, ...)Plus grande valeurMAX({Score1}, {Score2})
SUM(a, b, ...)Somme des valeursSUM({Q1}, {Q2}, {Q3}, {Q4})
AVERAGE(a, b, ...)Moyenne arithmétiqueAVERAGE({Test1}, {Test2})
MOD(number, divisor)Reste de la divisionMOD({Row Number}, 2)
POWER(base, exponent)Élévation à une puissancePOWER({Side}, 2)
SQRT(number)Racine carréeSQRT({Area})

Fonctions de texte

FonctionDescriptionExemple
CONCAT(a, b, ...)Joindre des valeurs textuellesCONCAT({First Name}, " ", {Last Name})
LEFT(text, count)Extraire depuis le débutLEFT({Code}, 3)
RIGHT(text, count)Extraire depuis la finRIGHT({Phone}, 4)
MID(text, start, count)Extraire depuis le milieuMID({ID}, 2, 4)
LEN(text)Nombre de caractèresLEN({Description})
LOWER(text)Convertir en minusculesLOWER({Email})
UPPER(text)Convertir en majusculesUPPER({Code})
TRIM(text)Supprimer les espaces de début/finTRIM({Input})
REPLACE(text, old, new)Remplacer des occurrencesREPLACE({URL}, "http", "https")
SEARCH(find, text)Trouver la position d'une sous-chaîneSEARCH("@", {Email})

Fonctions de date

Le moteur de formules s'intègre à une bibliothèque de dates étendue, vous donnant accès à de puissantes fonctions de manipulation et de comparaison de dates.

FonctionDescriptionExemple
TODAY()Date du jourTODAY()
NOW()Date et heure actuellesNOW()
YEAR(date)Extraire l'annéeYEAR({Created})
MONTH(date)Extraire le mois (1-12)MONTH({Due Date})
DAY(date)Extraire le jour du moisDAY({Birthday})
WEEKDAY(date)Jour de la semaine (0-6)WEEKDAY({Start Date})
WEEKNUM(date)Numéro de semaine de l'annéeWEEKNUM({Created})
QUARTER(date)Trimestre (1-4)QUARTER({Close Date})
DATEADD(date, count, unit)Ajouter du temps à une dateDATEADD({Start}, 14, "days")
DATEDIFF(date1, date2, unit)Différence entre des datesDATEDIFF({Start}, {End}, "days")
IS_BEFORE(date1, date2)Vérifier si date1 est avant date2IS_BEFORE({Due Date}, TODAY())
IS_AFTER(date1, date2)Vérifier si date1 est après date2IS_AFTER({Due Date}, TODAY())
IS_SAME_DAY(date1, date2)Vérifier si c'est le même jourIS_SAME_DAY({Created}, TODAY())
IS_TODAY(date)Vérifier si la date est aujourd'huiIS_TODAY({Due Date})
IS_WEEKEND(date)Vérifier si la date tombe un week-endIS_WEEKEND({Delivery Date})
START_OF_MONTH(date)Premier jour du moisSTART_OF_MONTH({Date})
END_OF_MONTH(date)Dernier jour du moisEND_OF_MONTH({Date})
START_OF_WEEK(date)Premier jour de la semaineSTART_OF_WEEK({Date})
END_OF_WEEK(date)Dernier jour de la semaineEND_OF_WEEK({Date})
ADD_BUSINESS_DAYS(date, days)Ajouter uniquement des jours ouvrésADD_BUSINESS_DAYS({Start}, 5)
DIFF_BUSINESS_DAYS(d1, d2)Jours ouvrés entre des datesDIFF_BUSINESS_DAYS({Start}, {End})

Fonctions logiques

FonctionDescriptionExemple
IF(condition, then, else)Valeur conditionnelleIF({Amount} > 1000, "High", "Low")
SWITCH(expr, val1, result1, ...)Correspondre à plusieurs valeursSWITCH({Priority}, "P0", "Critical", "P1", "High", "Normal")
AND(a, b, ...)Vrai si toutes les conditions sont vraiesAND({Complete}, {Approved})
OR(a, b, ...)Vrai si une condition est vraieOR({Urgent}, {Overdue})
NOT(value)Inverser un booléenNOT({Archived})
ISBLANK(value)Vérifier si videISBLANK({Notes})

Exemples de formules courantes

Concaténer des noms

CONCAT({First Name}, " ", {Last Name})

Combine les colonnes prénom et nom avec un espace entre les deux.

Calculer les jours jusqu'à l'échéance

DATEDIFF(TODAY(), {Due Date}, "days")

Renvoie le nombre de jours restants jusqu'à la date d'échéance. Les valeurs négatives indiquent des éléments en retard.

Libellés de statut conditionnels

IF(IS_BEFORE({Due Date}, TODAY()), "Overdue",
IF(DATEDIFF(TODAY(), {Due Date}, "days") <= 3, "Due Soon", "On Track"))

Renvoie « Overdue » pour les éléments en retard, « Due Soon » pour les éléments dus dans les 3 jours, et « On Track » pour le reste.

Calcul de pourcentage

ROUND({Completed Tasks} / {Total Tasks} * 100, 1)

Calcule le pourcentage d'achèvement arrondi à une décimale.

Jours ouvrés restants

DIFF_BUSINESS_DAYS(TODAY(), {Deadline})

Calcule le nombre de jours ouvrés (hors week-ends) entre aujourd'hui et une échéance.

Gestion des erreurs

Lorsqu'une formule contient des erreurs, Copera affiche un indicateur d'erreur dans la cellule au lieu d'une valeur. Les erreurs courantes incluent :

  • Erreurs de syntaxe -- Parenthèses non appariées, opérateurs manquants ou noms de fonctions non reconnus.
  • Incompatibilités de type -- Tentative d'arithmétique sur des valeurs textuelles ou d'opérations de date sur des nombres.
  • Références nulles -- Référence à une colonne sans valeur dans la ligne actuelle. Utilisez ISBLANK() pour gérer gracieusement les champs optionnels.
  • Division par zéro -- Division par une colonne contenant zéro. Encadrez avec un IF pour vérifier : IF({Total} = 0, 0, {Part} / {Total}).

L'éditeur de formules affiche un aperçu en direct du résultat au fur et à mesure de la saisie, facilitant la détection et la correction des erreurs avant l'enregistrement.

Création de formules assistée par l'IA

Si vous ne savez pas comment écrire une formule, Copera propose un assistant de formules propulsé par l'IA. Décrivez ce que vous voulez calculer en langage naturel, et l'assistant générera une formule pour vous. Vous pouvez revoir, modifier et affiner la suggestion avant de l'appliquer à votre colonne.

Prochaines étapes

  • Découvrez les Champs calculés pour comprendre en profondeur les champs Formula, Function et Tracker.
  • Configurez des Automatisations qui se déclenchent en fonction des résultats de formules.
  • Utilisez Filtres et tri pour filtrer les lignes par valeurs de colonnes de formule.