Свойство Formula в Notion обладает огромными возможностями, позволяя манипулировать другими свойствами разными способами. Формулы могут быть как простыми, например 2 + 2 (буквально), так и сложными компиляциями вложенных функций.
Приведенные ниже примеры полезны и широко применимы, но в то же время просты в реализации для пользователей любого уровня. Для их демонстрации мы используем два примера баз данных: список футболистов и список заказов электронной коммерции. Вы можете продублировать в своё пространство эту страницу и попрактиковаться.
Страница с формулами из примеров
По мере использования свойства Formula не забывайте подсматривать в шпаргалку Формул Notion 2.0
Список футболистов
Начнем с базы данных футболистов.
Объединить имя и фамилию
Например у нас есть имя и фамилия каждого игрока, мы можем создать свойство Formula, которое объединит их в полное имя с помощью оператора +:
Имя +" "+ Фамилия
Посчитать возраст
Учитывая день рождения (свойство data) каждого игрока, мы можем определить их возраст с помощью функций dateBetween()
и now()
:
dateBetween( now(), prop("День рождения"), "years" )
Добавьте дополнительный текст в карточки галереи
Когда мы отображаем реестр в виде галереи, некоторые свойства выглядят неоднозначно без контекста, например, возраст. При этом необходимо преобразовать возраст (число) в текст с помощью функции format()
.
("Возраст: " + format(prop("Возраст (формула)")))
Рассчитать наценку
Расчеты наценки обычно выполняются в независимой базе данных товаров, но для простоты мы включили их сюда.
Допустим, мы хотим, чтобы наша наценка коррелировала со стоимостью товара (количество):
- Если себестоимость товара меньше 1000 ₽, наценка составляет 25%.
- Если себестоимость товара составляет 2000 ₽ или больше, но меньше 1500 ₽, наценка равна 20%.
- Если стоимость товара составляет 1500 ₽ и более, наценка равна 15%.
Этого можно добиться с помощью вложенных функций if()
:
if(Стоимость товара) <= 1000, 0.25, if(Стоимость товара) < 2000, 0.2, 0.15))
Рассчитать цену для покупателя
Определив наценку, мы можем рассчитать цену для покупателя, умножив стоимость товара (число) на наценку (число), а затем добавив стоимость товара (число):
(Стоимость товара * Наценка %) + Стоимость товара
Рассчитать налог
Затем мы хотим рассчитать налог, умножив цену покупателя (число) на ставку налога (число):
Цена для клиентов * Ставка налога
Рассчитать общую стоимость
Наш магазин является частью движения за бесплатную доставку, поэтому мы можем рассчитать общую стоимость, добавив цену покупателя и налог:
Цена для клиентов + налог
На этом все! Примеры можно посмотреть на этой странице в Notion
Добавить прогресс бар
В Notion при помощи формул можно сделать прогресс-бар. Подробно мы написали в этой статье. Приведем пример формулы:
if((Прочитанно / Всего страниц)) >= 1, "✅", (((replaceAll(substring("xxxxxxxxxx", 0, floor((Прочитанно / Всего страниц)) * 10)), "x", "😄") + replaceAll(substring("xxxxxxxxxx", 0, ceil(10 - (Прочитанно) / Всего страниц) * 10))), "x", "😡")) + " ") + format(floor((Прочитанно / Всего страниц) * 100))) + "%")