Vanlige formelfeil

I dette hjelpedokumentet

Finn ut mer om de vanlige feilene du kan støte på med formler i Notion, og hvordan du kan feilsøke dem 🔨


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

Hvis du ikke har tilgang til en referert database, vil ikke formler kunne beregne pålitelig. Dette er fordi formler krever tilgang til kildedatabasen og dens egenskapskonfigurasjoner.

Hvordan fikse det

Sørg for at du har tilgang til alle sider og databaser som refereres i formelen din, enten i /knapp eller i database automaseringen.

I motsetning til formegenskaper i databaser, forventer formler i automaseringer en spesifikk returtype fra formlene (f.eks.: dato, tekst, tall, person). Automaseringen vil ellers ikke kunne lagre og utføre handlingen på riktig måte.

Hvordan fikse det

Sørg for at formelen returnerer riktig type verdi. Hvis du for eksempel skriver en formel for å angi verdien til en Person-egenskap på en side, må formelen returnere en bruker eller en liste over brukere, ikke en dato. Alternativt, hvis du evaluerer en spesifikk betingelse på en egenskap av typen matrise (f.eks.: flervalg), må du sørge for å bruke .includes i stedet for == i if()-setningen din.

En vanlig årsak til denne feilen er å bruke en annen type for å representere en tom verdi. For eksempel, i en formel som if(Date, Date.dateAdd(1, “day”), ""), er returtypen ukjent fordi den enten kan være dato eller tekst (på grunn av ""). Dette kan løses ved å bruke empty() for å representere tomme verdier i stedet, slik at den reparerte formelen ville se ut som if(Date, Date.dateAdd(1, "day"), empty()).

Notion-formler kan bare være 15 lag dype. Hver gang en formel refererer til en annen formel eller en Rollup, legges det til et lag. Dette gjelder selv om formelen er i en annen database.

Når denne grensen er nådd, vil Notion vise en feilmelding.

Hvordan fikse det

Forenkle oppsettet ditt ved å kombinere unødvendige formler og oppsummeringsfelt til færre egenskaper. Se etter steder der flere formler gjør lignende ting, og prøv å slå dem sammen til én.

Hvis egendefinerte variabler er definert i samme automaseringhandling, kan de ikke referere til hverandre.

Hvis du for eksempel definerer var1 og var2 i samme handling, vil ikke var2 kunne bruke var1 i definisjonen sin.

Hvordan fikse det

Definer hver variabel i sin egen separate handling (opprett den første variabelen, legg til en ny handling i automaseringen din, og definer den neste variabelen separat). Dette sikrer at hver variabel blir riktig gjenkjent.

I dag kan ikke variabler definert i en automasering brukes til å filtrere sider i databaser du vil at automaseringen skal utføre handlinger på (f.eks.: «Rediger sider som samsvarer med filteret inneholder variabel»).

Hvordan fikse det

  1. Definer en egendefinert variabel som Denne siden ved å skrive Utløser side i formelboksen.

  2. Legg til en Rediger sider i-handling og velg den egendefinerte variabelen fra trinn 1 som mål.

Når du jobber med relasjoner, Rollup og person-egenskaper i formler, returnerer formlene en liste over sider eller personer. For å referere til egenskaper i relasjonen må du definere det første elementet, ellers vil automaseringen din settes på pause. Du kan også støte på dette problemet når du lager en formel som bruker map-funksjonen for en relasjonsegenskap.

Hvordan fikse det

Bruk funksjoner som .first() eller .at(0) for å hente det første elementet, eller gå gjennom listen over sider med funksjoner som .map() , .filter() , .every(), .some(), .find().

Hvis en formel uventet støter på en tom verdi (vanligvis en dato- eller personverdi), vil automaseringen motta en feilmelding og settes på pause automatisk.

Hvordan fikse det

Bruk if eller ifs for å sjekke at en egenskap det opereres på har en verdi. I stedet for Date.dateAdd(1, "day") er det for eksempel bedre å bruke if(Date, Date.dateAdd(1, "day"), empty()). Dette sikrer at dateAdd bare utføres når Date har en verdi, og gir automaseringen beskjed om å tømme egenskapen som oppdateres når Date ikke er utfylt. Alternativt kan du sette opp en visning med et filter som garanterer at verdien til egenskapen du opererer på eksisterer, og konfigurere automaseringen til kun å kjøre på sider i den visningen.

Hvis formelen din ikke fungerer som forventet, kan det skyldes en syntaksfeil, for eksempel manglende parenteser, feil operatorer eller funksjoner som ikke støttes. For en fullstendig oversikt over formelsyntaks, les denne artikkelen →


Gi tilbakemelding

Var denne ressursen nyttig?


Powered by Fruition