Häufige Fehler bei Formeln
Erfahre mehr über die häufigsten Fehler, die bei Formeln in Notion auftreten können und wie du sie beheben kannst 🔨
Wenn du dir nicht sicher bist, wie du die Fehler in deiner Formel beheben kannst, kann dir die Notion-KI helfen. Erfahre mehr darüber hier →
Wenn du keinen Zugriff auf eine referenzierte Datenbank hast, können Formeln nicht zuverlässig berechnet werden. Das liegt daran, dass Formeln Zugriff auf die Quelle-Datenbank und deren Eigenschaftskonfigurationen benötigen.
Wie du das Problem lösen kannst
Stelle sicher, dass du Zugriff auf alle Seiten und Datenbanken hast, auf die in deiner Formel in deinem Button oder deiner Datenbankautomatisierung zugegriffen wird.
Im Gegensatz zu Formeleigenschaften in Datenbanken erwarten Formeln in Automatisierungen einen bestimmten Rückgabetyp (z. B. Datum, Text, Zahl, Personen). Andernfalls kann die Automatisierung nicht ordnungsgemäß gespeichert und ausgeführt werden.
Wie du das Problem lösen kannst
Stelle sicher, dass die Formel den korrekten Werttyp zurückgibt. Wenn du beispielsweise eine Formel schreibst, um den Wert einer Personen-Eigenschaft einer Seite festzulegen, muss die Formel einen Benutzer oder eine Liste von Benutzern zurückgeben, kein Datum. Wenn du alternativ eine bestimmte Bedingung für eine Eigenschaft vom Typ Array (z. B. Mehrfachauswahl) auswertest, stelle sicher, dass du .includes anstelle von == in deiner if()-Anweisung verwendest.
Eine häufige Ursache für diesen Fehler ist die Verwendung eines anderen Typs zur Darstellung eines leeren Werts. In einer Formel wie if(Date, Date.dateAdd(1, "day"), "") ist der Rückgabetyp beispielsweise unbekannt, da es sich entweder um ein Datum oder um Text handeln könnte (aufgrund von ""). Dies kann behoben werden, indem stattdessen empty() zur Darstellung leerer Werte verwendet wird. Die korrigierte Formel würde also if(Date, Date.dateAdd(1, "day"), empty()) lauten.
Notion-Formeln können nur 15 Ebenen tief sein. Jedes Mal, wenn eine Formel auf eine andere Formel oder ein Rollup verweist, wird eine Ebene hinzugefügt. Dies gilt auch dann, wenn sich die Formel in einer anderen Datenbank befindet.
Wenn das Limit erreicht ist, zeigt Notion eine Fehlermeldung an.
Wie du das Problem lösen kannst
Vereinfache dein Setup, indem du unnötige Formeln und Rollups in weniger Eigenschaften zusammenfasst. Suche nach Stellen, an denen mehrere Formeln Ähnliches tun, und versuche, sie zu einer zusammenzuführen.
Wenn individuelle Variablen innerhalb derselben Automatisierungsaktion definiert werden, können sie nicht aufeinander verweisen.
Wenn du beispielsweise var1 und var2 in derselben Aktion definierst, kann var2var1 nicht in seiner Definition verwenden.
Wie du das Problem lösen kannst
Definiere jede Variable in einer eigenen separaten Aktion (erstelle die erste Variable, füge eine neue Aktion zu deiner Automatisierung hinzu und definiere die nächste Variable separat). Dies stellt sicher, dass jede Variable ordnungsgemäß erkannt wird.
Derzeit dürfen Variablen, die in einer Automatisierung definiert wurden, nicht zum Filtern von Seiten in Datenbanken verwendet werden, auf die die Automatisierung angewendet werden soll (z. B. "Seiten bearbeiten, die dem Filter entsprechen, enthält Variable“).
Wie du das Problem lösen kannst
Definiere eine individuelle Variable als
Diese Seite, indem duAuslöserseitein das Formelfeld eingibst.Füge
Seiten in Aktion bearbeitenhinzu und wähle die individuelle Variable aus Schritt 1 als Ziel aus.
Wenn du in Formeln mit Verknüpfungs-, Rollup- und Personen-Eigenschaften arbeitest, geben die Formeln eine Liste von Seiten oder Personen zurück. Um auf Eigenschaften innerhalb der Verknüpfung zu verweisen, musst du das erste Element definieren, da deine Automatisierung sonst angehalten wird. Dieses Problem kann auch auftreten, wenn du eine Formel erstellst, die die map-Funktion für eine Verknüpfungs-Eigenschaft verwendet.
Wie du das Problem lösen kannst
Verwende Funktionen wie .first() oder .at(0), um das erste Element zu erhalten oder gehe die Liste der Seiten mit Funktionen wie .map(), .filter (), .every (), .some (), .find() durch.
Wenn eine Formel unerwartet auf einen leeren Wert stößt (meistens ein Datums- oder Personenwert), wird der Automatisierung ein Fehler zurückgegeben und sie wird automatisch angehalten.
Wie du das Problem lösen kannst
Verwende if oder ifs, um zu überprüfen, ob eine Eigenschaft, mit der gearbeitet wird, einen Wert hat. Anstatt Date.dateAdd(1, “day”) ist es beispielsweise vorzuziehen, if(Date, Date.dateAdd(1, “day”), empty()) zu verwenden. Dies stellt sicher, dass dateAdd nur ausgeführt wird, wenn der Wert von Date vorhanden ist, und weist die Automatisierung explizit an, die zu aktualisierende Eigenschaft zu leeren, wenn Date nicht ausgefüllt ist. Alternativ kannst du eine Ansicht mit einem Filter einrichten, der garantiert, dass der Wert der Eigenschaft, mit der du arbeitest, existiert, und die Automatisierung so konfigurieren, dass sie nur auf Seiten in dieser Ansicht ausgeführt wird.
Wenn deine Formel nicht wie erwartet funktioniert, kann dies an einem Syntaxfehler liegen, z. B. an fehlenden Klammern, falschen Operatoren oder nicht unterstützten Funktionen. Eine vollständige Übersicht zur Formelsyntax findest du in diesem Artikel →
