Introduktion till formler

I det här hjälpdokumentet

Du kan lägga till en formelegenskap i en Notion-databas som låter dig köra många typer av beräkningar och funktioner som bygger på andra egenskaper. Du kan använda formler för att manipulera befintliga data och få fram många fler användbara värden. 🔮


Notion-formler kan utföra användbara beräkningar med hjälp av dina befintliga databasegenskaper, inbyggda funktioner och formler.

Låt oss titta på några olika sätt att använda formler. Om du är redo att börja bygga dina egna, hoppa till våra instruktioner nedan →

Exempel 1: Projektledning

I det här exemplet använder vi tre formler för att spåra projekternas framdrift.

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

Mål

Egenskapens namn

Formel

Funktioner och inbyggda funktioner

Ange ett projekts förfallodatum som två veckor efter dess startdatum

Förfallodatum

dateAdd(Start Date, 2, "week")

dateAdd() lägger till tid till datumet. Enhetsargumentet kan vara något av följande: years, quarters, months, weeks, days, hours eller minutes. I det här fallet använder vi weeks.

Markera ett projekt som försenat om förfallodatumet har passerat och dess status inte är Done.

Markera ett projekt som försenat med fetstil och röd text om förfallodatumet har passerat och dess status inte är Done.

Försenat?

if(and(now() > Förfallodatum, Status != \"Done\"), \"Overdue\", \"\")

if(and(now() > Förfallodatum, Status != \"Done\"), style(\"Overdue\", \"red\", \"b\"), \"\")

if() returnerar det första värdet om villkoret är sant; annars returneras det andra värdet. Detta möjliggör ett villkorsstyrt resultat.

and() är en logisk operator. Detta gör det möjligt att utvärdera flera faktorer som sanna.

now() returnerar aktuellt datum och tid. Detta gör det möjligt att utvärdera var vi står nu, jämfört med projektets förfallodatum.

> är en jämförelseoperator. Detta gör det möjligt att jämföra villkoret att förfallodatumet är senare än aktuellt datum.

!= är en jämförelseoperator. Detta gör det möjligt att definiera villkoret att status inte är lika med Done.

style() lägger till stilar och färger i texten. Giltiga formateringsstilar inkluderar b (fet), u (understruken), i (kursiv), c (kod) eller s (genomstruken). Giltiga färger är gray, brown, orange, yellow, green, blue, purple, pink och red. Lägg till _background till färger för att ange bakgrundsfärger. I det här fallet använder vi fet och röd.

Visa antalet uppgifter kopplade till ett projekt

Återstående uppgifter

Tasks.length()

length() returnerar längden på text- eller listvärdet. Detta möjliggör en räkning av återstående uppgifter.

Exempel 2: Projektbrainstorming

I det här exemplet använder vi två formler för att brainstorma projektidéer, beräkna en prioriteringspoäng för var och en av dem och räkna antalet upvotes varje projekt får.

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

Egenskapens namn

Formel

Baserat på poängen för Reach, Impact, Confidence och Effort (RICE), beräkna en prioriteringspoäng

Poäng (RICE)

Reach * Impact * Confidence / Effort

När någon klickar på upvote-knappen, räkna med personen i det totala antalet röster och lägg till deras namn på databassidan.

Totalt antal röster

length(Upvoted by)

(Avancerat) Exempel 3: Automatisering av uppgiftshantering

I det här exemplet använder vi några formler i en databas automation (en annan typ av databassegenskap) för att göra det enklare att hantera projekt och uppgifter när de slutförs genom att markera en överordnad uppgift som Done när alla dess underuppgifter är Done.

Databasautomatiseringar har utlösare och åtgärder som vidtas baserat på dessa utlösare. Formler gör att du kan definiera variabler som du sedan kan använda i dina åtgärder.

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

Mål

bygga den

Funktioner och inbyggda funktioner

Varje gång en uppgift ställs in på Done, utlös automatiseringen

Trigger: När status ställs in på Done

-

Definiera den överordnade uppgiften genom att hitta den första sidan som är relaterad till uppgiften som utlöste automatiseringen

Åtgärd 1: Definiera variabeln Överordnad uppgift

Formel:Trigger page.Parent item.first()

Trigger page refererar till sidan i databasen som automatiseringen utlöstes från, och . gör att du kan komma åt egenskaper som är kopplade till den sidan.

Parent item returnerar innehållet från den egenskapen, vilket i det här fallet är en lista med relaterade sidor.

Att använda funktionen .first() på egenskapen Parent item returnerar den första relaterade sidan från listan.

Om den överordnade uppgiften har underuppgifter, verifiera om alla dess underuppgifter har statusen Done. Om den överordnade uppgiften inte har några underuppgifter, returnera false.

Åtgärd 2: Definiera variabeln Alla underuppgifter klara?

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

Den ternära operatorn X ? Y : Z är ett förkortat villkorsuttryck som betyder: om villkoret X är sant, returnera Y; annars, returnera Z. Det är ett koncist alternativ till en if()-sats.

.every() kontrollerar om ett villkor är sant för varje objekt i en lista. Inom denna funktion kan du använda nyckelordet current för att referera till raden som utvärderas. I det här fallet kontrollerar villkoret current.Status == \"Done\" om den aktuella sidans status-egenskap är inställd på Done. Om så är fallet returneras true; annars returneras false.

Om alla underuppgifter är Done, ställ in den överordnade uppgiftens status till Done. Om inte, behåll den överordnade uppgiftens befintliga status.

Åtgärd 3: Redigera egenskapen Status

Formel: Alla underuppgifter klara? ? "Done" : Parent Task.Status

Återigen används den ternära operatorn här för att se om alla underuppgifter är klara. Om de är det kommer automatiseringen att ställa in den överordnade uppgiftens status som Done; om inte, behåller den den överordnade uppgiftens status som den är.

More formula inspiration

I Notion kan du använda formler på några olika sätt:

Så här skapar du en formel-egenskap i en databas:

  1. Välj slider-ikon högst upp på en databas → Redigera egenskaperNy egenskap.

  2. Välj Formel.

  3. Ge din egenskap ett namn om du vill.

  4. Välj Redigera formel.

När du har skapat en formel i en databas eller knapp kan du bygga och redigera den formeln i formelredigeraren, som ser ut så här:

Fältet högst upp är där du anger och redigerar din formel. När du skriver din formel högst upp i redigeraren meddelar redigeraren vad som saknas, eller vad formeln förväntar sig för att kunna returnera utdata till dig.

Panelen till vänster i redigeraren visar de element som du kan använda i formeln – med andra ord de egenskaper, inbyggda funktioner och funktioner som är tillgängliga för dig.

Panelen till höger definierar formelelement när du för muspekaren över dem i den vänstra panelen. Den ger dig även exempel på hur du kan använda dessa element och hur de bör struktureras.

Om du öppnar formelredigeraren från en databasrad visas en förhandsvisning av formelns resultat för den raden.

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.

Vet du vad du vill att din formel ska göra, men är inte helt säker på hur du bygger den? Vill du göra några justeringar i en befintlig formel? Ser du ett fel i din formel, men vet inte hur du åtgärdar det? Notion AI kan hjälpa till.

När du är i formelredigeraren ser du ett fält som innehåller Notion AI-ansiktet. Klicka i det här fältet och berätta för Notion AI vad du vill att din formel ska göra, eller ställ frågor om formeln för att förstå den bättre.

Här är några exempel på prompter som du kan ge till Notion AI:

  • ”Gör om titelegenskapen till en URL-slug.”

  • ”Returnera ⚠️ om förfallodatumet har passerat.”

  • ”Lägg till en dag till datumegenskapen och gör utdata grön och fetstilt.”

  • ”Returnera datumegenskapen från relationsdatabasen” (Notion AI känner även till dina relations egenskaper!)

  • ”Kursivera utdata från den här formeln.”

  • ”Åtgärda felen i den här formeln.”

  • ”Gör så att den här formeln hanterar specialfall.” (Notion AI kan till exempel lägga till en if-sats så att formeln inte misslyckas när ett fält är tomt.)

  • ”Vad gör den här formeln?”

När du har angett din prompt genererar Notion AI en formel eller svarar på din fråga om den. Du kan också se en förhandsgranskning av din formelutdata samt växla på Show types för att se utdatatypen (till exempel text), så att du kan säkerställa att allt ser ut som du vill. Du kan ångra Notion AI:s ändringar, ge den ytterligare prompter eller ge en tumme upp eller tumme ner för att låta oss veta hur det gick.

När du skapar och redigerar formler med Notion AI bör du notera att Notion AI för närvarande inte stöder följande:

  • Iterativ logik (som for-loopar).

  • Slumpmässiga genereringar som skulle kräva en random()-funktion, vilket Notion-formler inte har. En prompt som ”Generera ett slumpmässigt nummer mellan 1 och 10” skulle inte fungera.

  • Att komma ihåg tidigare prompter.

Notion AI kan hjälpa dig med formelegenskaper samt formler inuti knappar, databasknappar och databasautomatiseringar.

Formler kan skapas med en kombination av:

  • Egenskaper.

  • Inbyggda funktioner, eller operatorer och booleska värden som används för att ställa in en specifik beräkning. Några exempel inkluderar + (addera), false och or.

  • Funktioner, eller åtgärder som formeln kan utföra för att returnera ett visst resultat. Några exempel inkluderar replace, sum och sortera.

En fullständig lista över de inbyggda funktioner och funktioner som finns tillgängliga i formler finns här →


Ge feedback

Var den här resursen till hjälp?


Powered by Fruition