Erreurs courantes avec les formules

aide : articles de dépannage
Dans cet article

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


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().

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

  1. Définissez une variable personnalisée comme Cette page en tapant Page de déclenchement dans la zone de formule.

  2. Ajoutez une action Modifier une page et sélectionnez la variable personnalisée de l’étape 1 comme cible.

Lorsque vous écrivez une formule dans une automatisation, les propriétés de la base de données peuvent ne pas s’afficher automatiquement. Ce n’est pas un bug, vous devez utiliser une syntaxe spécifique.

Comment résoudre le problème

Pour faire référence aux propriétés de la base de données depuis la page de déclenchement, tapez Page de déclenchement. Assurez-vous d’ajouter un . à la fin. Cela révélera toutes les options de propriétés disponibles.

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().

Lorsque les formules s’exécutent sur une valeur vide (par exemple : date, personne, etc.), l’automatisation renverra une erreur et se mettra automatiquement en pause.

Comment résoudre le problème

Utilisez if et empty() pour vérifier si une valeur est présente avant d’y exécuter la fonction Personne ou Date.

Par exemple, si votre formule s’exécute sur une propriété Personne nommée « Propriétaire », créez l’instruction if suivante pour forcer une valeur : if(empty(Cette page.Personne.first()), « Aucune personne », Cette page.Personne.first().name()). Cela garantit que même s’il n’y a pas de propriétaire, l’automatisation s’exécutera en toute sécurité.

Vous pouvez également configurer une vue qui filtre la valeur Date ou Personne en cours de définition et appliquer l’automatisation à 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 →


Donner votre avis

Cette ressource vous a-t-elle été utile ?


Powered by Fruition