Formelsyntax och funktioner

I det hÀr hjÀlpdokumentet

Notion-formler fungerar pĂ„ olika egenskaper och funktioner. HĂ€r Ă€r en lista över dem! ➗


Vill du utforska grunderna för formler? LÀs vÄr introduktionsartikel:

Notion formulas can operate using various properties and functions. Here, you'll find a list of them!

You can use formulas in database automations, database buttons, and buttons to streamline your workflows.

Formulas support almost all property types. Note that formula types are different from property types.

Egenskapstyper

Exempel

Formeltyp

Titel

prop("Title")prop("Title").length()

Text

Text

prop("Text")prop("Text").length()

Text

VĂ€lj

prop("Priority") == "High"

Text

Flerval

prop("Tags").length()prop("Tags").includes("Finance")

Text (list)

Kryssruta

prop("Checkbox")
not prop("Checkbox")

Booleskt vÀrde

E-post, webbadress, telefonnummer

!empty(prop("Phone"))
!empty(prop("Email"))
link("Call", "tel:" + prop("Phone"))

Text

Unikt ID

prop("Task ID").split("-").first() ← Prefix
prop("Task ID").split("-").last() ← ID

Text

Skapad av,
Redigerad av

prop("Created By").name()
prop("Created By").email()

Person

Person

prop("Person")
prop("Person").at(0).name()
prop("Person").map(current.email())

Person (list)

Datum,
Skapad kl.,
Senast redigerad

prop("Due Date") > now()
dateBetween(prop("Birthday"), now(), "days")

Datum

Nummer

prop("Number") / 2
pi() * prop("Radius") ^ 2

Nummer

Relation

prop("Tasks").length()
prop("Tasks").filter(current.prop("Status") !== "Done")

Page (list)

Sammanslagning

prop("Purchases").length()
prop("Average cost") * 12

NÄgon typ av nummer, datum eller lista. Beror pÄ sammanslagningskonfigurationen.

Inbyggda insÀttningar Àr specifika symboler och vÀrden som Àr inbyggda i sprÄket för att hjÀlpa till att beteckna en berÀkning.

Inbyggd

Exempel

Matematiska operatorer:+, -, *, %

2 * pi()"hello" + "world"

Booleska vÀrden:
sant, falskt

truefalse

JÀmförelseoperatorer:
==, >, >=, <, <=

123 == 123 = true"Notion" == "Motion" = false

Logiska operatorer:
och, eller, inte

and:true and false
true && false
and(true, false)
or:true or false
true || false
or(true, false)
not:not true
!true

TernÀr operator:
? :

X ? Y : Z Àr ekvivalent med om(X, Y, Z)

Notion-formler har stöd för följande funktioner.

Namn

Beskrivning

Exempel

if

Återger det första vĂ€rdet om kriteriet Ă€r true, annars Ă„terges det andra vĂ€rdet.

if(true, 1, 2) = 1if(false, 1, 2) = 2prop("Checked") == true ? "Complete" : "Incomplete"

ifs

Återger det vĂ€rde som motsvarar det första true-kriteriet. Detta kan anvĂ€ndas som ett alternativ till flera kapslade om()-uttalanden.

ifs(true, 1, true, 2, 3) = 1ifs(false, 1, false, 2, 3) = 3

Tom

Återger true om vĂ€rdet Ă€r tomt. 0, "" och [] betraktas som tomma.

empty(0) = trueempty([]) = true

length

Återger lĂ€ngden pĂ„ text- eller listvĂ€rdet.

length("hello") = 5length([1, 2, 3]) = 3

substring

Återger delstrĂ€ngen av texten frĂ„n startindex (inklusive) till slutindex (valfritt och exklusivt).

substring("Notion", 0, 3) = "Not"substring("Notion", 3) = "ion"

InnehÄller

Återger true om sökstrĂ€ngen finns i vĂ€rdet.

contains("Notion", "ot") = true

Test

Återger true om vĂ€rdet matchar det reguljĂ€ra uttrycket och annars false.

test("Notion", "Not") = truetest("Notion", "\\d") = false

match

Återger alla matchningar av det reguljĂ€ra uttrycket som en lista.

match("Notion Notion", "Not") = ["Not", "Not"]match("Notion 123 Notion 456", "\\d+") = ["123", "456"]

ErsÀtt

ErsÀtter den första matchningen av ordinarie uttryck med ersÀttningsvÀrdet.

replace("Notion Notion", "N", "M") = "Motion Notion"

ErsÀtt alla

ErsÀtter alla matchningar av ordinarie uttryck med ersÀttningsvÀrdet.

replaceAll("Notion Notion", "N", "M") = "Motion Motion"replaceAll("Notion 123", "\\d", "") = "Notion"

lower

Konverterar texten till smÄ bokstÀver.

lower("NOTION") = "notion"

upper

Konverterar texten till stora bokstÀver.

upper("notion") = "NOTION"

Upprepa

Upprepar texten ett visst antal gÄnger.

repeat("0", 4) = "0000"repeat("~=", 10) = "~=~=~=~=~=~=~=~=~=~="

LĂ€nka

Skapar en hyperlÀnk frÄn etikettexten och URL-adressen.

link("Notion", "https://notion.so") = "Notion"

Stil

LÀgger till stilar och fÀrger i texten. Giltiga formateringsstilar: "b" (fet stil), "u" (understruken), "i" (kursiv), "c" (kod) och "s" (genomstruken). Giltiga fÀrger: "grÄ", "brun", "orange", "gul", "grön", "blÄ", "lila", "rosa" och "röd". LÀgg till "_bakgrund" till fÀrger för att stÀlla in bakgrundsfÀrger.

style("Notion", "b", "u") = "Notion" style("Notion", "blue", "gray_background")

unstyle

Tar bort formateringsstilar frÄn texten. Om inga stilar anges tas alla stilar bort.

unstyle("Text")unstyle("Text", "b")

Format

Återger vĂ€rdet formaterat som text.

format(1234) = "1234"format(now()) = "August 30, 2023 17:55"

LĂ€gg till

Återger summan av tvĂ„ tal.

add(5, 10) = 155 + 10 = 15

subtract

Återger skillnaden mellan tvĂ„ tal.

subtract(5, 10) = -55 - 10 = -5

multiply

Återger produkten av tvĂ„ tal.

multiply(5, 10) = 505 * 10 = 50

mod

Dividerar tvÄ tal och Äterger resten.

mod(5, 10) = 55 % 10 = 5

pow

Returnerar resultatet av ett basnummer som höjs till en potens.

pow(5, 10) = 97656255 ^ 10 = 9765625

divide

Återger kvoten av tvĂ„ tal.

divide(5, 10) = 0.55 / 10 = 0.5

Min

Återger det minsta antalet av argumenten.

min(1, 2, 3) = 1min([1, 2, 3]) = 1

Max

Återger det största antalet argument.

max(1, 2, 3) = 3max([1, 2, 3]) = 3

Summa

Återger summan av dess argument.

sum(1, 2, 3) = 6sum([1, 2, 3], 4, 5) = 15

Median

Returnerar medelvÀrdet av sina argument.

median(1, 2, 4) = 2
median([1, 2, 3], 4) = 2.5

mean

Returnerar det aritmetiska genomsnittet för argumenten.

mean(1, 2, 3) = 2
mean([1, 2, 3], 4, 5) = 3

abs

Återger absolutvĂ€rdet för ett tal.

abs(10) = 10abs(-10) = 10

round

Returnerar vÀrdet för ett tal avrundat till nÀrmaste heltal.

round(0.4) = 0round(-0.6) = -1

ceil

Återger det minsta heltal som Ă€r större Ă€n eller lika med talet.

ceil(0.4) = 1ceil(-0.6) = 0

floor

Återger det största heltal som Ă€r mindre Ă€n eller lika med talet.

floor(0.4) = 0floor(-0.6) = -1

sqrt

Återger den positiva kvadratroten av talet.

sqrt(4) = 2sqrt(7) = 2.6457513110645907

cbrt

Återger kubikroten för ett tal.

cbrt(9) = 2.080083823051904cbrt(64) = 4

exp

Återger e^x, dĂ€r x Ă€r argumentet och e Ă€r Eulers tal (2,718
), basen för den naturliga logaritmen.

exp(1) = 2.718281828459045exp(-1) = 0.36787944117144233

ln

Återger den naturliga logaritmen för talet.

ln(2.718281828459045) = 1ln(10) = 2.302585092994046

log10

Återger logaritmen med bas 10 för ett tal.

log10(10) = 1log10(100000) = 5

log2

Återger logaritmen med bas 2 för ett tal.

log2(4) = 2log2(1024) = 10

sign

Återger 1 om talet Ă€r positivt, -1 om det Ă€r negativt och 0 om det Ă€r noll.

sign(-10) = -1sign(10) = 1

pi

Återger förhĂ„llandet mellan en cirkels omkrets och dess diameter.

pi() = 3.141592653589793

e

Återger basen för den naturliga logaritmen.

e() = 2.718281828459045

toNumber

Parsar ett tal frÄn text.

toNumber("2") = 2toNumber(now()) = 1693443300000toNumber(true) = 1

nu

Returnerar aktuellt datum och aktuell tid.

now() = @August 30, 2023 5:55 PM

idag

Ger aktuellt datum utan tid.

today() = @April 19, 2024

minute

Återger minuten för datumet (0–59).

minute(parseDate("2023-07-10T17:35Z")) = 35

hour

Återger timmen för datumet (0-23).

hour(parseDate("2023-07-10T17:35Z")) = 17

dag

Återger veckodagen för ett datum, mellan 1 (mĂ„ndag) och 7 (söndag).

day(parseDate("2023-07-10T17:35Z")) = 1

datum

Återger dagen i mĂ„naden frĂ„n datumet (1-31).

date(parseDate("2023-07-10T17:35Z")) = 10

vecka

Returnerar ISO-veckan i Äret för datumet (1-53).

week(parseDate("2023-01-02")) = 1

mÄnad

Återger mĂ„naden för datumet (1–12).

month(parseDate("2023-07-10T17:35Z")) = 7

Är

Återger Ă„rtalet för datumet.

year(now()) = 2023

dateAdd

LÀgger till en tid till datumet. Enhetsargumentet kan vara ett av följande: "Är", "kvartal", "mÄnader", "veckor", "dagar", "timmar" eller "minuter".

dateAdd(now(), 1, "days") = @August 31, 2023 5:55 PMdateAdd(now(), 2, "months") = @October 30, 2023 5:55
PM
dateAdd(now(), 3, "years") = @August 30, 2026 5:55 PM

dateSubtract

Subtraherar tiden frÄn datumet. Enhetsargumentet kan vara ett av följande: "Är", "kvartal", "mÄnader", "veckor", "dagar", "timmar" eller "minuter".

dateSubtract(now(), 1, "days") = @August 29, 2023 5:55 PMdateSubtract(now(), 2, "months") = @June 30, 2023 5:55 PMdateSubtract(now(), 3, "years") = @August 30, 2020 5:55 PM

dateBetween

Returnerar skillnaden mellan tvÄ datum. Enhetsargumentet kan vara ett av följande: "Är", "kvartal", "mÄnader", "veckor", "dagar", "timmar" eller "minuter".

dateBetween(now(), parseDate("2022-09-07"), "days") = 357dateBetween(parseDate("2030-01-01"), now(), "years") = 6

Datumintervall

Returnerar ett datumomfÄng som konstruerats utifrÄn start- och slutdatum.

dateRange(prop("Start Date"), prop("End Date")) = @September 7, 2022 → September 7, 2023

dateStart

Återger början pĂ„ ett datumomfĂ„ng.

dateStart(prop("Date Range")) = @September 7, 2022dateBetween(dateStart(prop("Date Range")), dateEnd(prop("Date Range")), "days") = -365

dateEnd

Återger slutet av ett datumomfĂ„ng.

dateEnd(prop("Date range")) = @September 7, 2023dateBetween(dateEnd(prop("Date Range")), dateStart(prop("Date Range")), "days") = 365

timestamp

Återger den aktuella Unix-tidsstĂ€mpeln som representerar antalet millisekunder som har förflutit sedan den 1 januari 1970.

timestamp(now()) = 1693443300000

fromTimestamp

Returnerar datumet frÄn den angivna Unix-tidsstÀmpeln. TidstÀmpeln anger antalet millisekunder som har förflutit sedan den 1 januari 1970. Obs! Det returnerade datumet kommer inte att innehÄlla sekunder och millisekunder.

fromTimestamp(1689024900000) = @July 10, 2023 2:35 PM

Formatera datum

Formaterar ett datum med en anpassad formatstrÀng. FormatstrÀngen kan innehÄlla följande för att representera delar av datumet: "YYYY" för Är, "MM" för mÄnad, "DD" för dag, "h" för timme och "mm" för minut.

formatDate(now(), "MMMM D, Y") = "August 30, 2023"
formatDate(now(), "MM/DD/YYYY")
= "08/30/2023"
formatDate(now(), "h:mm A")
= "17:55 PM"

parseDate

Återger datumet tolkat enligt ISO 8601-standarden.

parseDate("2022-01-01") = @January 1, 2022parseDate("2022-01-01T00:00Z") = @December 31, 2021 4:00 PM

Namn

Returnerar e-postadressen för en person.

name(prop("Created By"))prop("Pioneers").map(name(current)).join(", ") = "Grace Hopper, Ada Lovelace"

E-post

Returnerar e-postadressen för en person.

email(prop("Created By"))prop("People").map(email(current)).join(", ")

den/kl.

Återger vĂ€rdet vid det angivna indexet i en lista.

at([1, 2, 3], 1) = 2

first

Returnerar det första objektet i listan.

first([1, 2, 3]) = 1

förra

Returnerar det sista objektet i listan.

last([1, 2, 3]) = 3

slice

Returnerar objekten i listan frÄn det angivna startindexet (inklusive) till slutindexet (valfritt och exklusive).

slice([1, 2, 3], 1, 2) = [2]slice(["a", "b", "c"], 1) = ["b", "c"]

concat

Återger sammankopplingen av flera listor.

concat([1, 2], [3, 4]) = [1, 2, 3, 4]concat(["a", "b"], ["c", "d"]) = ["a", "b", "c", "d"]

Sortera

Returnerar listan i sorterad ordning.

sort([3, 1, 2]) = [1, 2, 3]

reverse

Återger den omvĂ€nda listan.

reverse(["green", "eggs", "ham"]) = ["ham", "eggs", "green"]

Anslut

Återger vĂ€rdena i listan med förbindningen placerad mellan varje vĂ€rde.

join(["a", "b", "c"], ", ") = "a, b, c"join(["dog", "go"], "") = "doggo"

Dela i tvÄ

Returnerar listan över vÀrden som skapats genom att dela upp en textinmatning med en avgrÀnsare.

split("apple,pear,orange", ",") = ["apple", "pear", "orange"]

Unika

Återger listan med unika vĂ€rden i inmatningslistan.

unique([1, 1, 2]) = [1, 2]

Inkluderar

Returnerar true om listan innehÄller det angivna vÀrdet och false annars.

includes(["a", "b", "c"], "b") = trueincludes([1, 2, 3], 4) = false

sök

Returnerar det första objektet i listan dÀr kriteriet utvÀrderas som sant.

find(["a", "b", "c"], current == "b") = "b"find([1, 2, 3], current > 100) = Empty

findIndex

Återger indexet för det första objektet i listan för vilket kriteriet Ă€r true.

findIndex(["a", "b", "c"], current == "b") = 1findIndex([1, 2, 3], current > 100) = -1

Filtrera

Återger de vĂ€rden i listan för vilka kriteriet Ă€r true.

filter([1, 2, 3], current > 1) = [2, 3]filter(["a", "b", "c"], current == "a") = ["a"]

NÄgra

Återger true om nĂ„got objekt i listan uppfyller det givna villkoret, och false annars.

some([1, 2, 3], current == 2) = truesome(["a", "b", "c"], current.length > 2) = false

varje

Återger true om alla objekt i listan uppfyller det givna villkoret, och false annars.

every([1, 2, 3], current > 0) = trueevery(["a", "b", "c"], current == "b") = false

map

Återger listan som fyllts med resultatet av att uttrycket anropats pĂ„ varje objekt i inmatningslistan.

map([1, 2, 3], current + 1) = [2, 3, 4]map([1, 2, 3], current + index) = [1, 3, 5]

flat

SammansÀtter en lista med listor till en enda lista.

flat([1, 2, 3]) = [1, 2, 3]flat([[1, 2], [3, 4]]) = [1, 2, 3, 4]

ID

Återger sidans ID. Om ingen sida anges Ă„terges ID för den sida som formeln finns pĂ„.

id()
id(prop("Relation").first())

equal

Återger true om bĂ„da vĂ€rdena Ă€r lika och annars false.

equal(1, 1) = true"a" == "b" = false

unequal

Återger false om bĂ„da vĂ€rdena Ă€r lika och annars true.

unequal(1, 2) = true"a" != "a" = false

let

Tilldelar ett vÀrde till en variabel och utvÀrderar uttrycket med hjÀlp av variabeln.

let(person, "Alan", "Hello, " + person + "!") = "Hello, Alan!"let(radius, 4, round(pi() * radius ^ 2)) = 50

lets

Tilldelar vÀrden till flera variabler och utvÀrderar uttrycket med hjÀlp av dessa variabler.

lets(a, "Hello", b, "world", a + " " + b) = "Hello world"lets(base, 3, height, 8, base * height / 2) = 12


Ge feedback

Var den hÀr resursen till hjÀlp?


Powered by Fruition