Sintaks & fungsi Formula

Dalam dokumen bantuan ini

Notion Formula dapat beroperasi pada berbagai properti dan fungsi. Di sini, Anda akan menemukan daftarnya āž—


  • Looking for Notion formula basics? Check out this article →

  • If you have a formula that doesn't seem to work, learn about common formula errors and how to troubleshoot them in this article →

Know what you want your formula to do, but not sure how to build it? You can use Notion AI to create and edit formulas. Learn more here →

Notion Formula dapat beroperasi menggunakan berbagai properti dan fungsi. Di sini, Anda akan menemukan daftarnya!

Formula mendukung hampir semua jenis properti. Perhatikan bahwa jenis Formula berbeda dari jenis properti.

Jenis Properti

Contoh

Jenis Formula

Judul

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

Teks

Teks

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

Teks

Pilih

prop(\"Priority\") == \"High\"

Teks

Pilih Beberapa

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

Teks (daftar)

Kotak centang

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

Boolean

Email, URL, Nomor Telepon

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

Teks

Unique ID

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

Teks

Dibuat Oleh,
Diedit Oleh

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

Orang

Orang

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

Orang (daftar)

Tanggal,
Waktu Dibuat,
Waktu Terakhir Diedit

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

Tanggal

Angka

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

Angka

Relasi

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

Halaman (daftar)

Rollup

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

Angka, tanggal, atau daftar dari tipe apa pun. Bergantung pada konfigurasi rollup.

Bawaan adalah simbol dan nilai khusus yang disertakan dalam bahasa untuk membantu menentukan perhitungan.

Built-in

Contoh

Operator matematika:+, -, *, %

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

Nilai boolean:
true, false

truefalse

Operator perbandingan:
==, >, >=, <, <=

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

Operator logika:
and, or, not

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

Operator ternary:
? :

X ? Y : Z setara dengan if(X, Y, Z)

Notion Formula mendukung fungsi-fungsi berikut.

Nama

Deskripsi

Contoh

if

Menghasilkan nilai pertama jika kondisinya benar; jika tidak, menghasilkan nilai kedua.

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

ifs

Mengembalikan nilai yang sesuai dengan kondisi benar pertama. Ini dapat digunakan sebagai alternatif untuk beberapa pernyataan if() bersarang.

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

kosong

Mengembalikan true jika nilainya kosong. 0, "", dan [] dianggap kosong.

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

length

Mengembalikan panjang teks atau nilai daftar.

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

substring

Mengembalikan substring teks dari indeks awal (inklusif) hingga indeks akhir (opsional dan eksklusif).

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

berisi

Mengembalikan true jika string pencarian ada dalam nilai tersebut.

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

test

Mengembalikan true jika nilai cocok dengan ekspresi reguler dan false jika tidak.

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

match

Mengembalikan semua kecocokan ekspresi reguler sebagai daftar.

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

replace

Mengganti kecocokan pertama dari ekspresi reguler dengan nilai pengganti.

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

replaceAll

Mengganti semua kecocokan ekspresi reguler dengan nilai pengganti.

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

lower

Mengonversi teks menjadi huruf kecil.

lower("NOTION") = "notion"

upper

Mengonversi teks menjadi huruf besar.

upper("notion") = "NOTION"

pengulangan

Mengulang teks sebanyak jumlah tertentu.

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

link

Membuat hyperlink dari teks label dan URL.

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

style

Menambahkan gaya dan warna ke teks. Gaya pemformatan yang valid: \"b\" (tebal), \"u\" (garis bawah), \"i\" (miring), \"c\" (kode), atau \"s\" (coret). Warna yang valid: \"gray\", \"brown\", \"orange\", \"yellow\", \"green\", \"blue\", \"purple\", \"pink\", dan \"red\". Tambahkan \"_background\" ke warna untuk menetapkan warna latar belakang.

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

unstyle

Menghapus gaya pemformatan dari teks. Jika tidak ada gaya yang ditentukan, semua gaya akan dihapus.

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

format

Mengembalikan nilai yang diformat sebagai teks.

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

menambahkan

Mengembalikan jumlah dari dua angka.

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

subtract

Mengembalikan selisih dari dua angka.

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

multiply

Mengembalikan hasil kali dari dua angka.

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

mod

Mengembalikan sisa pembagian angka pertama dengan angka kedua.

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

pow

Mengembalikan hasil dari angka dasar yang dipangkatkan dengan eksponen.

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

divide

Mengembalikan hasil bagi dari dua angka.

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

min

Mengembalikan angka terkecil dari argumen.

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

max

Mengembalikan angka terbesar dari argumen.

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

sum

Mengembalikan jumlah dari argumen-argumennya.

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

median

Mengembalikan nilai tengah dari argumen-argumennya.

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

mean

Mengembalikan rata-rata aritmatika dari argumen-argumennya.

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

abs

Mengembalikan nilai absolut dari angka tersebut.

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

round

Mengembalikan nilai angka yang dibulatkan ke bilangan bulat terdekat. Mendukung satu atau dua argumen. Dalam kasus dua argumen, argumen pertama mewakili nilai dan argumen kedua mewakili jumlah tempat desimal yang akan dibulatkan.

round(0.4) = 0round(-0.6) = -1
round(1.234, 0)
= 1round(1.234, 2) = 1.23round(1234, -2) = 1200

ceil

Mengembalikan bilangan bulat terkecil yang lebih besar dari atau sama dengan angka tersebut.

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

floor

Mengembalikan bilangan bulat terbesar yang kurang dari atau sama dengan angka tersebut.

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

sqrt

Mengembalikan akar kuadrat positif dari angka tersebut.

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

cbrt

Mengembalikan akar pangkat tiga dari angka tersebut.

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

exp

Menghasilkan nilai E^x, di mana x adalah argumen, dan E adalah bilangan Euler (2.718…), yang merupakan dasar logaritma natural.

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

ln

Mengembalikan logaritma natural dari angka tersebut.

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

log10

Mengembalikan logaritma basis 10 dari angka tersebut.

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

log2

Mengembalikan logaritma basis 2 dari angka tersebut.

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

sign

Mengembalikan 1 jika angka tersebut positif, -1 jika negatif, dan 0 jika nol.

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

pi

Mengembalikan rasio keliling lingkaran terhadap diameternya.

pi() = 3.141592653589793

e

Mengembalikan dasar logaritma natural.

e() = 2.718281828459045

toNumber

Mengurai angka dari teks.

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

sekarang

Mengembalikan tanggal dan waktu saat ini.

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

today

Mengembalikan tanggal saat ini tanpa waktu.

today() = @April 19, 2024

minute

Mengembalikan menit dari tanggal (0-59).

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

jam

Mengembalikan jam dari tanggal (0-23).

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

hari

Mengembalikan hari dalam seminggu dari tanggal, antara 1 (Senin) dan 7 (Minggu).

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

tanggal

Mengembalikan hari dalam sebulan dari tanggal (1-31).

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

pekan

Mengembalikan minggu ISO dalam setahun dari tanggal (1-53).

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

bulan

Mengembalikan bulan dari tanggal (1-12).

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

tahun

Mengembalikan tahun dari tanggal.

year(now()) = 2023

dateAdd

Menambahkan waktu ke tanggal. Argumen unit dapat berupa salah satu dari: \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", atau \"minutes\".

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

Mengurangkan waktu dari tanggal. Argumen unit dapat berupa salah satu dari: \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", atau \"minutes\".

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

Menghasilkan selisih antara dua tanggal. Argumen unit dapat berupa salah satu dari: \"years\", \"quarters\", \"months\", \"weeks\", \"days\", \"hours\", atau \"minutes\".

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

dateRange

Mengembalikan rentang tanggal yang dibuat dari tanggal mulai dan tanggal selesai.

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

dateStart

Mengembalikan awal dari rentang tanggal.

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

dateEnd

Mengembalikan akhir dari rentang tanggal.

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

timestamp

Mengembalikan timestamp Unix saat ini, yang mewakili jumlah milidetik yang telah berlalu sejak 1 Januari 1970.

timestamp(now()) = 1693443300000

fromTimestamp

Mengembalikan tanggal dari timestamp Unix yang diberikan. Timestamp mewakili jumlah milidetik yang telah berlalu sejak 1 Januari 1970. Catatan: tanggal yang dikembalikan tidak akan menyimpan detik & milidetik.

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

formatDate

Memformat tanggal menggunakan string format kustom. String format dapat berisi teks berikut untuk mewakili setiap bagian dalam tanggal: \"YYYY\" untuk tahun, \"MM\" untuk bulan, \"DD\" untuk hari, \"h\" untuk jam, \"mm\" untuk menit.

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

formatNumber

\"Revenue: \" + formatNumber(prop(\"Number\"), \"usd\", 0).style(\"green\")

parseDate

Mengembalikan tanggal yang diurai menurut standar ISO 8601.

parseDate(\"2022-01-01\") = @1 Januari 2022parseDate(\"2022-01-01T00:00Z\") = @31 Desember 2021 16.00

name

Mengembalikan nama seseorang.

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

email

Mengembalikan alamat email seseorang.

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

at

Mengembalikan nilai pada indeks yang ditentukan dalam daftar.

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

first

Mengembalikan item pertama dalam daftar.

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

terakhir

Mengembalikan item terakhir dalam daftar.

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

slice

Mengembalikan item daftar dari indeks awal yang disediakan (inklusif) hingga indeks akhir (opsional dan eksklusif).

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

concat

Mengembalikan penggabungan beberapa daftar.

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

urutkan

Mengembalikan daftar dalam urutan yang terurut.

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

reverse

Mengembalikan daftar yang dibalik.

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

join

Mengembalikan nilai daftar dengan penyambung ditempatkan di antara setiap nilai.

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

split

Mengembalikan daftar nilai yang dibuat dengan membagi input teks berdasarkan pemisah.

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

unique

Mengembalikan daftar nilai unik dalam daftar input.

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

includes

Mengembalikan true jika daftar berisi nilai yang ditentukan, dan false jika tidak.

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

temukan

Mengembalikan item pertama dalam daftar yang kondisinya bernilai true.

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

findIndex

Mengembalikan indeks item pertama dalam daftar yang kondisinya bernilai true.

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

filter

Mengembalikan nilai dalam daftar yang kondisinya bernilai true.

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

some

Mengembalikan true jika ada item dalam daftar yang memenuhi kondisi yang diberikan, dan false jika tidak.

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

setiap

Mengembalikan true jika setiap item dalam daftar memenuhi kondisi yang diberikan, dan false jika tidak.

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

map

Mengembalikan daftar yang diisi dengan hasil pemanggilan ekspresi pada setiap item dalam daftar input.

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

flat

Meratakan daftar dari daftar menjadi satu daftar tunggal.

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

id

Mengembalikan id halaman. Jika tidak ada halaman yang disediakan, mengembalikan id halaman tempat Formula berada.

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

equal

Mengembalikan true jika kedua nilai sama dan false jika tidak.

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

unequal

Mengembalikan false jika kedua nilai sama dan true jika tidak.

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

let

Menetapkan nilai ke variabel dan mengevaluasi ekspresi menggunakan variabel tersebut.

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

lets

Menetapkan nilai ke beberapa variabel dan mengevaluasi ekspresi menggunakan variabel-variabel tersebut.

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

trim

Menghapus spasi dari awal dan akhir teks.

" notion ".trim() = "notion"


Beri Umpan Balik

Apakah sumber daya ini membantu?


Powered by Fruition