Introduktion til formler

I dette hjælpedokument

I en Notion-database kan du tilføje en formelegenskab, der lader dig køre alle mulige beregninger og funktioner baseret på andre egenskaber. Du kan bruge formler til at manipulere eksisterende data og finde frem til mange andre nyttige værdier 🔮


Notion-formler kan udføre nyttige beregninger ved hjælp af dine eksisterende databaseegenskaber, indbyggede funktioner og funktioner.

Lad os se på et par forskellige måder at bruge formler på. Hvis du er klar til at begynde at bygge dine egne, kan du springe til vores instruktioner i at oprette en formel herunder →

Eksempel 1: Projektstyring

I dette eksempel bruger vi tre formler til at spore fremdriften af projekter.

You can explore and play with the formula setups for this example by duplicating this page to your workspace!

Mål

Egenskabens navn

Formel

Anvendte funktioner og indbyggede funktioner

Angiv et projekts forfaldsdato som to uger efter dets startdato

Frist

dateAdd(Startdato, 2, \"week\")

dateAdd() tilføjer tid til datoen. Enhedsargumentet kan være et af følgende: years, quarters, months, weeks, days, hours eller minutes. I dette tilfælde bruger vi weeks.

Markér et projekt som forfaldent, hvis forfaldsdatoen er overskredet og dets status ikke er Færdig.

Markér et projekt som forfaldent med fed, rød skrift, hvis forfaldsdatoen er overskredet og dets status ikke er Færdig.

Forfaldent?

if(and(now() > Forfaldsdato, Status != \"Færdig\"), \"Overdue\", \"\")

if(and(now() > Forfaldsdato, Status != \"Færdig\"), style(\"Overdue\", \"red\", \"b\"), \"\")

if() returnerer den første værdi, hvis betingelsen er sand; ellers returneres den anden værdi. Dette muliggør et betinget resultat.

and() er en logisk operator. Dette gør det muligt at evaluere flere faktorer som værende sande.

now() returnerer den aktuelle dato og tid. Dette gør det muligt at evaluere, hvor vi står nu, sammenlignet med projektets forfaldsdato.

> er en sammenligningsoperator. Dette gør det muligt at sammenligne betingelsen om, at forfaldsdatoen er senere end den aktuelle dato.

!= er en sammenligningsoperator. Dette gør det muligt at definere betingelsen for, at status ikke er lig med Færdig.

style() tilføjer stilarter og farver til teksten. Gyldige formateringsstilarter inkluderer b (fed), u (understreget), i (kursiv), c (kode) eller s (gennemstreget). Gyldige farver er gray, brown, orange, yellow, green, blue, purple, pink og red. Tilføj _background til farver for at indstille baggrundsfarver. I dette tilfælde anvender vibold og red.

Vis antallet af opgaver tilknyttet et projekt

Resterende opgaver

Tasks.length()

length() returnerer længden af tekst- eller listeværdien. Dette gør det muligt at tælle resterende opgaver.

Eksempel 2: Projekt-brainstorming

I dette eksempel bruger vi to formler til at brainstorme projektidéer, beregne en prioriteringsscore for hver af dem og tælle antallet af stemmer, hvert projekt modtager.

You can explore and play with the formula setups for this example by duplicating this page to your workspace! For another setup that uses the RICE framework, check out this template.

Mål

Egenskabens navn

Formel

Baseret på scorerne for Reach, Impact, Confidence og Effort (RICE), beregnes en prioriteringsscore

Score (RICE)

Reach * Impact * Confidence / Effort

Når nogen klikker på knappen for en stemme, tælles de med i det samlede antal stemmer, og deres navn tilføjes til databasesiden

Stemmer i alt

length(Upvoted by)

(Avanceret) Eksempel 3: Automatisering af opgavestyring

I dette eksempel bruger vi nogle formler i en database-automation (en anden type databaseegenskab) for at gøre det lettere at styre projekter og opgaver, efterhånden som de færdiggøres, ved at markere en overordnet opgave som Færdig, når alle dens underopgaver er Færdig.

Databaseautomatiseringer har udløsere og handlinger, der udføres baseret på disse udløsere. Formler giver dig mulighed for at definere variabler, som du derefter kan bruge i dine handlinger.

You can explore and play with the formula setups for this example by duplicating this page to your workspace!

Mål

Sådan bygger du den

Anvendte funktioner og indbyggede funktioner

Hver gang en opgave sættes til Færdig, udløses automatiseringen

Udløser: Når status sættes til Færdig

-

Definer den overordnede opgave ved at finde den første side, der er relateret til den opgave, som udløste automatiseringen

Handling 1: Definer variablen for overordnet opgave

Formel:Trigger page.Parent item.first()

Trigger page refererer til siden i databasen, som automatiseringen blev udløst fra, og . giver dig adgang til egenskaber tilknyttet den side.

Parent item returnerer indholdet fra den egenskab, som i dette tilfælde er en liste over relaterede sider.

Anvendelse af .first()-funktionen på Parent item-egenskaben returnerer den første relaterede side fra den liste.

Hvis den overordnede opgave har underopgaver, skal du kontrollere, om alle dens underopgaver har status Færdig. Hvis den overordnede opgave ikke har nogen underopgaver, skal du returnere false.

Handling 2: Definer Alle underopgaver færdige? variabel

Formel:Parent Task.Sub-item ? Parent Task.Sub-item.every(current.Status == \"Færdig\") : false

Den ternære operator X ? Y : Z er et forkortet betinget udtryk, der betyder: hvis betingelsen X er sand, returneres Y; ellers returneres Z. Det er et kortfattet alternativ til en if()-sætning.

.every() kontrollerer, om en betingelse er sand for hvert element på en liste. Inden for denne funktion kan du bruge nøgleordet current til at referere til den række, der evalueres. I dette tilfælde kontrollerer betingelsen current.Status == \"Færdig\", om den aktuelle sides status-egenskab er sat til Færdig. Hvis det er tilfældet, returneres true; ellers returneres false.

Hvis alle underopgaver er Færdig, skal du sætte den overordnede opgaves status til Færdig. Hvis ikke, skal du beholde den overordnede opgaves eksisterende status.

Handling 3: Rediger Status-egenskab

Formel: Alle underopgaver færdige? ? \"Færdig\" : Parent Task.Status

Igen bruges den ternære operator her til at se, om alle underopgaver er færdige. Hvis de er, vil automatiseringen sætte den overordnede opgaves status til Færdig; hvis ikke, vil den beholde den overordnede opgaves status, som den er.

More formula inspiration

I Notion kan du bruge formler på et par forskellige måder:

Sådan opretter du en databaseegenskab af typen formel:

  1. Vælg skydeikonet øverst i en database → Rediger egenskaberNy egenskab.

  2. Vælg Formel.

  3. Giv din egenskab et navn, hvis du har lyst.

  4. Vælg Rediger formel.

Når du har oprettet en formel i en database eller knap, vil du kunne bygge og redigere den formel i formel-editoren, som ser således ud:

Feltet øverst er der, hvor du indtaster og redigerer din formel. Mens du skriver din formel øverst i formel-editoren, vil formel-editoren fortælle dig, hvad der mangler, eller hvad formlen forventer for at kunne returnere en værdi til dig.

Vinduet i venstre side af redigeringsvinduet viser de elementer, du kan bruge i din formel – med andre ord egenskaber, indbyggede funktioner samt øvrige funktioner, der er tilgængelige for dig.

Vinduet i højre side definerer formelelementer, når du holder markøren over dem i venstre vindue. Det giver dig også eksempler på, hvordan du kan bruge disse elementer, og hvordan de skal struktureres.

Hvis du åbner formeleditoren fra en databaserække, ser du en live forhåndsvisning af resultatet af formlen for den pågældende række.

Having trouble with your formula? Learn about common formula errors and how to troubleshoot them in this article →

Note: This feature is only available on the Business and Enterprise Plans.

Ved du, hvad du vil have din formel til at gøre, men er du ikke helt sikker på, hvordan du bygger den? Vil du foretage nogle justeringer af en eksisterende formel? Ser du en fejl i din formel, men ved ikke, hvordan du retter den? Notion AI kan hjælpe.

Når du er i formel-editoren, vil du se et felt, der indeholder Notion AI-ansigtet. Klik i dette felt og fortæl Notion AI, hvad du vil have din formel til at gøre, eller stil spørgsmål om formlen for at forstå den bedre.

Her er nogle eksempler på prompts, du kan give Notion AI:

  • "Gør titelegenskaben til et URL-slug."

  • "Returner ⚠️, hvis forfaldsdatoen er overskredet."

  • Læg én dag til datoegenskaben, og gør resultat grønt og fed skrift.

  • "Returner datoegenskaben fra den relaterede database" (Notion AI kender også til dine relationers egenskaber!)

  • Gør resultatet af denne formel kursiv.

  • "Ret fejlene i denne formel."

  • "Få denne formel til at håndtere grænsetilfælde." (Notion AI kan for eksempel tilføje en if-sætning, så formlen ikke fejler, når et felt er tomt.)

  • "Hvad gør denne formel?"

Når du har indtastet din prompt, genererer Notion AI en formel eller svarer på dit spørgsmål om den. Du kan også se en forhåndsvisning af dit formelresultat samt slå til Show types for at se resultattypen (f.eks. tekst), så du kan sikre dig, at alt ser ud, som du ønsker. Du kan fortryde Notion AI's ændringer, give den yderligere prompts eller give en tommelfinger op eller ned for at fortælle os, hvordan det gik.

Når du opretter og redigerer formler ved hjælp af Notion AI, skal du være opmærksom på, at Notion AI i øjeblikket ikke understøtter følgende:

  • Iterativ logik (som for løkker).

  • Tilfældige genereringer, der ville kræve en Tilfældig()-funktion, hvilket Notion-formler ikke har. En prompt som "Generer et tilfældigt tal mellem 1 og 10" ville ikke virke.

  • Husk tidligere prompts.

Notion AI kan hjælpe dig med formelegenskaber samt formler inde i knapper, databaseknapper og databaseautomatiseringer.

Formler kan oprettes ved hjælp af en kombination af:

  • Egenskaber.

  • Indbyggede funktioner eller operatorer og booleske værdier, der bruges til at opsætte en specifik beregning. Nogle eksempler inkluderer + (læg sammen), false og or.

  • Funktioner eller handlinger, som formlen kan udføre for at returnere et bestemt resultat. Nogle eksempler inkluderer replace, sum og sort.

En komplet liste over de indbyggede funktioner, der er tilgængelige i formler, findes her →


Giv feedback

Var denne ressource nyttig?


Powered by Fruition