Справочник формул

Функции формул Baserow - справочник синтаксиса и примеров

Baserow предлагает встроенный редактор формул с автодополнением и десятками функций для расчётов, работы с текстом, датами и связанными таблицами. Статья собирает синтаксис для сложных типов полей, набор готовых шаблонов формул на все случаи и ответы на частые вопросы о массивах, длительностях и пустых значениях.

Обзор

Формулы Baserow работают с большинством типов полей, включая поля длительности и множественного выбора . Внутри одного выражения можно выполнять математические операции, обрабатывать текст, считать даты и строить логические сравнения.

Если нужно, чтобы записи получали имя автоматически (например, Invoice-001 или Sprint-Dec), превратите первичное поле в поле формулы - тогда имя строки будет пересчитываться по заданному правилу при каждом изменении исходных данных.

Поиск функций

Редактор формул в Baserow показывает автодополнение и подсказки по функциям прямо во время ввода. Рядом с каждой подсказкой видны синтаксис и пример использования.

Чтобы найти нужную функцию:

  1. Создайте или откройте на редактирование поле формулы;
  2. Начните печатать в редакторе формул;
  3. Просмотрите список предложенных функций с описаниями;
  4. Кликните по функции, чтобы увидеть её синтаксис и пример.

Работа со сложными типами полей

Формулы по-разному обращаются к простым и составным типам полей. Ниже - три случая, которые чаще всего вызывают вопросы.

Множественный выбор

Формулы умеют работать с полями множественного выбора : проверять, какие варианты отмечены в строке, и выполнять операции над этим набором значений.

Поддержка множественного выбора в поле формулы

Связь с таблицей

Для полей связи с таблицей используйте функцию lookup(), чтобы получить значения полей из связанных строк, а затем примените агрегирующую функцию вроде sum(), count() или join().

Подстановка и свод

Поля подстановки и свода возвращают массивы значений, а не одно число или строку. Прежде чем использовать их в условиях или сравнениях, преобразуйте массив в одно значение через агрегирующую функцию.

Типовые формулы

Ниже - шаблоны формул, которые закрывают большинство повседневных задач. Замените названия полей в примерах на поля своей таблицы.

Вычисления

Рассчитать итоговую сумму:

[Quantity] * [Unit Price]

Применить процентную скидку:

[Price] * (1 - [Discount Percent] / 100)

Округлить до двух знаков после запятой:

round([Amount], 2)

Найти большее из двух значений:

greatest([Value A], [Value B])

Работа с текстом

Объединить имя и фамилию:

concat([First Name], ' ', [Last Name])

Привести текст к верхнему регистру:

upper([Product Code])

Извлечь первые 10 символов:

left([Description], 10)

Проверить, содержит ли текст слово:

contains([Notes], 'urgent')

Дата и время

Посчитать разницу в днях между датами:

date_diff('day', [Start Date], [End Date])

Отформатировать дату в текст:

datetime_format([Created], 'YYYY-MM-DD')

Проверить, что дата уже прошла:

[Due Date] < today()

Получить год из даты:

year([Date Field])

Условная логика

Показать разный текст в зависимости от статуса:

if([Status] = 'Complete', 'Done', 'Pending')

Подставить значение по умолчанию, если поле пустое:

when_empty([Notes], 'No notes added')

Объединить несколько условий:

if(and([Quantity] > 0, [Price] > 100), 'In Stock - Premium', 'Standard')

Работа со связанными таблицами

Просуммировать значения из связанных строк:

sum(lookup('Orders', 'Total'))

Посчитать количество связанных элементов:

count([Related Items])

Объединить текст из нескольких строк:

join(lookup('Projects', 'Name'), ', ')

Отфильтровать и просуммировать:

sum(filter(lookup('Items', 'Price'), lookup('Items', 'Status') = 'Active'))

Интерактивные кнопки

Создать кликабельную кнопку:

button('https://example.com/' + [ID], 'View Details')

Сделать ссылку на email:

link('mailto:' + [Email])

Кнопки на основе формул в Baserow

Часто задаваемые вопросы

Почему формула не работает с полем подстановки или связи с таблицей? Поля подстановки и связи с таблицей содержат массивы (несколько значений), а не одно значение. Большинство функций ожидают на входе одно значение. Используйте агрегирующие функции вроде sum(), join(), count() или avg(), чтобы превратить массив в одно значение. Пример проблемы: isblank([Organization]) не сработает, если Organization - поле связи. Решение: isblank(join([Organization], '')) сначала превращает массив в текст.

Можно ли использовать формулы с полями длительности? Да. Поля длительности поддерживают математические операции напрямую - их можно складывать, вычитать, умножать и делить так же, как обычные числа.

Как проверить, что дата приходится на конкретный день недели? Используйте datetime_format() с кодом формата D, где воскресенье = 1, понедельник = 2 и так далее: datetime_format([Date Field], 'D') = '1' вернёт истину для воскресенья. Дополнительные коды форматирования дат смотрите в документации PostgreSQL по форматированию .

Обновляются ли функции today() и now() автоматически? Да, обе функции обновляются примерно раз в 10 минут. Используйте today(), если нужна только дата, и now(), когда важны и дата, и время. Обратите внимание: интервал в 10 минут - ориентировочный, а не гарантированный; если рабочее пространство долго не открывали, обновление может произойти раз в 60 минут.

Как обработать пустые или null-значения в формулах? Используйте when_empty(), чтобы задать резервное значение, или isblank(), чтобы проверить, что поле пустое: when_empty([Optional Field], 'Default Value') или if(isblank([Name]), 'No name provided', [Name]).

Можно ли использовать регулярные выражения в формулах? Да, функция regex_replace() находит и заменяет текст по шаблону: regex_replace([Phone], '[^0-9]', '') удаляет все нецифровые символы из номера телефона.

Что дальше

Если вы ещё не читали общее введение в формулы, начните с «Обзора поля формулы» . Чтобы глубже разобраться со связанными типами полей, которые часто применяются вместе с формулами, изучите «Связь с таблицей» , «Подстановку» , «Свод» и «Часовые пояса» для дат в разных часовых поясах. Затем переходите к разделу «Представления» , чтобы увидеть, как вычисляемые формулой значения используются в фильтрах и сортировке.

Проверено OpenNix LLC · Обновлено