Almindelige formelfejl

I dette hjælpedokument

Lær om de almindelige fejl, du kan støde på med formler i Notion, og hvordan du kan fejlfinde dem 🔨


If you’re unsure how to fix the errors in your formula, Notion AI can help. Learn more here →

Hvis du ikke har adgang til en refereret database, vil formler ikke kunne beregne pålideligt. Dette skyldes, at formler kræver adgang til kildedatabasen og dens egenskabskonfigurationer.

Sådan løses problemet

Sørg for, at du har adgang til alle sider og databaser, der refereres til i din formel i din /knap- eller databaseautomatisering.

I modsætning til formelegenskaber i databaser forventer formler i automatiseringer en specifik returtype fra formlerne (f.eks.: dato, tekst, tal, person). Automatiseringen vil ellers fejle i at gemme og udføre korrekt.

Sådan løses problemet

Sørg for, at formlen returnerer den korrekte type værdi. Hvis du f.eks. skriver en formel for at indstille værdien af en Person-egenskab for en side, skal formlen returnere en bruger eller en liste af brugere, ikke en dato. Alternativt, hvis du evaluerer en specifik betingelse på en egenskab af typen array (f.eks.: vælg flere), skal du sørge for at bruge .includes i stedet for == i dit if()-udtryk.

En almindelig årsag til denne fejl er at bruge en anden type til at repræsentere en tom værdi. I en formel som if(Date, Date.dateAdd(1, “day”), ""), er returtypen f.eks. ukendt, fordi den enten kunne være dato eller tekst (på grund af ""). Dette kan løses ved i stedet at bruge empty() til at repræsentere tomme værdier, så den reparerede formel ville se ud som if(Date, Date.dateAdd(1, "day"), empty()).

Notion-formler kan kun være 15 lag dybe. Hver gang en formel refererer til en anden formel eller et rollup, tilføjes et lag. Dette gælder, selvom formlen er i en anden database.

Når denne grænse er nået, viser Notion en fejlmeddelelse.

Sådan løses problemet

Forenkl din opsætning ved at kombinere unødvendige formler og rollups til færre egenskaber. Led efter steder, hvor flere formler gør lignende ting, og prøv at flette dem sammen til én.

Hvis brugerdefinerede variabler defineres i den samme automatiseringsHandling, kan de ikke referere til hinanden.

Hvis du f.eks. definerer var1 og var2 i samme Handling, kan var2 ikke bruge var1 i sin definition.

Sådan løses problemet

Definer hver variabel i sin egen separate Handling (opret den første variabel, tilføj en ny Handling til din automatisering, og definer den næste variabel separat). Dette sikrer, at hver variabel genkendes korrekt.

I dag kan variabler defineret i en automatisering ikke bruges til at filtrere sider i databaser, som du ønsker, at automatiseringen skal handle på (f.eks.: "Rediger sider, der matcher filter indeholder variabel").

Sådan løses problemet

  1. Definer en brugerdefineret variabel som Denne side ved at skrive Udløser side i formelfeltet.

  2. Tilføj en Rediger sider i Handling, og vælg den brugerdefinerede variabel fra trin 1 som dit mål.

Når du arbejder med relationer, rollup- og person-egenskaber i formler, returnerer formlerne en liste over sider eller personer. For at referere til egenskaber i relationen skal du definere det første element, ellers vil din automatisering pause. Du kan også støde på dette problem, når du opretter en formel, der bruger map-funktionen til en relationsegenskab.

Sådan løses problemet

Brug funktioner som .first() eller .at(0) for at få det første element, eller gennemløb listen af sider med funktioner som .map() , .filter() , .every(), .some(), .find().

Hvis en formel uventet støder på en tom værdi (oftest en dato- eller personværdi), vil automatiseringen modtage en fejl og automatisk pause.

Sådan løses problemet

Brug if eller ifs til at kontrollere, at en egenskab, der arbejdes med, har en værdi. I stedet for Date.dateAdd(1, "day") er det for eksempel bedre at bruge if(Date, Date.dateAdd(1, "day"), empty()). Dette sikrer, at dateAdd kun udføres, når Date har en værdi, og fortæller eksplicit automatiseringen, at den skal rydde den egenskab, der opdateres, når Date ikke er udfyldt. Alternativt kan du oprette en visning med et filter, der garanterer, at værdien af den egenskab, du arbejder med, eksisterer, og konfigurere automatiseringen til kun at køre på sider i den visning.

Hvis din formel ikke virker som forventet, kan det skyldes en syntaksfejl, såsom manglende parenteser, forkerte operatorer eller ikke-understøttede funktioner. For en fuld gennemgang af formelsyntaks, læs denne artikel →


Giv feedback

Var denne ressource nyttig?


Powered by Fruition