Erreurs courantes avec les formules

Découvrez les erreurs courantes que vous pourriez rencontrer avec les formules dans Notion, et comment vous pouvez les résoudre. 🔨

Si vous ne savez pas comment résoudre les erreurs de votre formule, l’IA de Notion peut vous aider. En savoir plus ici →
Si vous n’avez pas accès à une base de données référencée, les formules ne pourront pas être calculées de manière fiable. En effet, les formules nécessitent un accès à la base de données source et ses configurations de propriétés.
Comment résoudre le problème
Assurez-vous d’avoir accès à toutes les pages et bases de données référencées dans la formule de votre bouton ou automatisation de base de données.
Contrairement aux propriétés de formule dans les bases de données, les formules dans les automatisations attendent un type de valeur spécifique en retour (par exemple : date, texte, nombre, personne). Sinon, l’automatisation ne parviendra pas à être enregistrée et exécutée correctement.
Comment résoudre le problème
Vérifiez que la formule renvoie le bon type de valeur. Par exemple, si vous écrivez une formule pour définir la valeur de la propriété Personne d’une page, la formule doit renvoyer un utilisateur ou une liste d’utilisateurs, et non une date. Alternativement, si vous évaluez une condition spécifique sur une propriété de type tableau (par exemple : sélection multiple), assurez-vous d’utiliser .includes au lieu de == dans votre instruction if().
Une cause fréquente de cette erreur est l’utilisation d’un type différent pour représenter une valeur vide. Par exemple, dans une formule comme if(Date, Date.dateAdd(1, “day”), ""), le type de retour est inconnu, car il peut s’agir d’une date ou d’un texte (en raison de la présence de ""). Cela peut être corrigé en utilisant empty() pour représenter les valeurs vides à la place, de sorte que la formule réparée ressemblerait à if(Date, Date.dateAdd(1, "day"), empty()).
Les formules de Notion sont limitées à 15 niveaux d’imbrication. Chaque fois qu’une formule fait référence à une autre formule ou à une agrégation, elle ajoute un niveau d’imbrication. Cela s’applique même si la formule se trouve dans une autre base de données.
Lorsque cette limite est atteinte, Notion affiche un message d’erreur.
Comment résoudre le problème
Simplifiez votre configuration en regroupant les formules et agrégations superflues en moins de propriétés. Identifiez les formules aux fonctions similaires et essayez de les fusionner en une seule.
Si des variables personnalisées sont définies dans la même action d’automatisation, elles ne peuvent pas se référencer les unes les autres.
Par exemple, si vous définissez var1 et var2 dans la même action, var2 ne pourra pas utiliser var1 dans sa définition.
Comment résoudre le problème
Définissez chaque variable dans sa propre action distincte. Pour ce faire, créez la première variable, ajoutez une nouvelle action à votre automatisation et définissez la variable suivante séparément. Cela garantit que chaque variable est correctement reconnue.
À ce jour, les variables définies dans une automatisation ne peuvent pas être utilisées pour filtrer les pages dans les bases de données sur lesquelles vous souhaitez que l’automatisation agisse (par exemple : « Modifier les pages correspondant au filtre contenant la variable »).
Comment résoudre le problème
Définissez une variable personnalisée comme
Cette pageen tapantPage de déclenchementdans la zone de formule.Ajoutez une action
Modifier une pageet sélectionnez la variable personnalisée de l’étape 1 comme cible.
Lorsque vous travaillez avec des propriétés de relations, d’agrégation et de personne dans les formules, celles-ci renvoient une liste de pages ou de personnes. Pour référencer les propriétés d’une relation, vous devez définir le premier élément, sinon votre automatisation s’arrêtera. Vous pouvez également rencontrer ce problème lors de la création d’une formule qui utilise la fonction map pour une propriété de relation.
Comment résoudre le problème
Utilisez des fonctions comme .first() ou .at(0) pour obtenir le premier élément, ou parcourir la liste des pages avec des fonctions comme .map(), .filter(), .every(), .some() et .find().
Si une formule rencontre de manière inattendue une valeur vide (le plus souvent une valeur de date ou de personne), l’automatisation recevra une erreur et se mettra automatiquement en pause.
Comment résoudre le problème
Utilisez if ou ifs pour vérifier qu’une propriété sur laquelle vous travaillez a une valeur. Par exemple, au lieu de Date.dateAdd(1, "day"), il est préférable d’utiliser if(Date, Date.dateAdd(1, "day"), empty()). Cela garantit que dateAdd n’est exécuté que lorsque la valeur de Date est présente, et indique explicitement à l’automatisation d’effacer la propriété en cours de mise à jour lorsque Date n’est pas renseigné. Vous pouvez également configurer une vue avec un filtre qui garantit que la valeur de la propriété sur laquelle vous opérez existe, et configurer l’automatisation pour qu’elle ne s’exécute que sur les pages de cette vue.
Si votre formule ne fonctionne pas comme prévu, cela peut être dû à une erreur de syntaxe telle que des parenthèses manquantes, des opérateurs incorrects ou des fonctions non prises en charge. Pour une présentation complète de la syntaxe des formules, consultez cet article →