1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/mirrors-baserow

Клонировать/Скачать
understanding-baserow-formulas.md 11 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 26.06.2025 16:02 92285f5

Понимание формул Baserow

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

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

Что такое поле формулы Baserow

Поле формулы Baserow позволяет вам создать поле, содержимое которого вычисляется на основе формулы Baserow, которую вы предоставили. Формула Baserow — это просто текст, записанный определенным образом, чтобы Baserow мог его понять, например, текст 1+1 является формулой Baserow, которая будет вычислять результат 2 для каждой строки.

Простой пример формулы

Представьте, что у вас есть таблица с обычным текстовым полем, называемым text field, содержащим три строки с текстом one, two и three соответственно. Если вы затем создадите поле формулы с формулой concat('Number', field('text field')), результирующая таблица будет выглядеть следующим образом:

text field formula field
one Number one
two Number two
three Number three

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

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

Разбор простой формулы

Разберем формулу concat('Number', field('text field')), чтобы понять, что происходит:

  • concat
    • Concat — это одна из многих функций формул, которые вы можете использовать. Она объединяет все входные данные, которые вы ей предоставляете, в одну строку текста.
  • (
    • Чтобы предоставить входные данные функции формулы, сначала нужно написать открывающую скобку, указывающую, что входные данные будут следовать.
  • 'Number'
    • Это первый входной параметр, который мы предоставляем функции concat, и это буквально текст Number. При записи буквальных строк текста в формуле их нужно окружать кавычками.
  • ,
    • Поскольку мы предоставляем несколько входных данных функции concat, каждый входной параметр нужно разделять запятыми.
  • field('text field')
    • Это второй и последний входной параметр, который мы предоставляем функции concat. Мы можем добавлять столько входных данных, сколько хотим, при условии, что каждый будет разделен запятой.
    • Этот второй входной параметр — это ссылка на поле в той же таблице с именем text field. Для каждой ячейки поля формулы эта ссылка будет заменена значением из поля text field для этой строки.
  • )
    • Наконец, нужно сообщить Baserow, что мы закончили предоставление входных данных функции concat, для этого используется соответствующая закрывающая скобка.

Что такое функция формулы?

Функция в формуле принимает определенное количество входных данных в зависимости от типа функции. Она выполняет какие-то вычисления с этими входными данными и производит выходные данные. Функции также иногда принимают только определенные типы входных данных. Например, функция datetime_format принимает только два входных параметра: первый должен быть датой (либо ссылкой на поле даты, либо подформулой, вычисляющей дату), а второй — некоторым текстом.

Все доступные функции для использования показаны в расширенном окне редактирования формулы, которое появляется при нажатии на формулу при редактировании поля формулы.

Использование чисел в формулах

Формулы могут использоваться для выполнения числовых вычислений. Стандартные математические операторы существуют, такие как +, -, * и /. Вы можете использовать целые числа или десятичные числа непосредственно в вашей формуле, например так: (field('number field') + 10.005)/10

Ошибка недействительного числа

Если вы видите Invalid Number в ячейке формулы, это означает, что ваша формула для этой строки пыталась выполнить одну из следующих недействительных операций:

  • Деление числа на ноль.
  • Преобразование текста в число с помощью функции tonumber, которое не удалось из-за того, что текст не был действительным числом.
  • Вычисление числа, которое больше 10^50, максимального допустимого значения.

Условные вычисления

Если вам нужно выполнять вычисления условно, то функция if и операторы сравнения позволят вам это сделать. Например, следующая формула вычисляет, является ли поле даты первым днем месяца: IF(day(field('some date')) = 1, true, false).

Вы можете сравнивать поля и подформулы с использованием операторов >, >=, <=, <, = и !=.

Использование дат

Используйте функцию todate для создания постоянной даты внутри формулы следующим образом: todate('2020-01-01 10:20:30', 'YYYY-MM-DD HH:MI:SS'). Первый аргумент — это дата в текстовом формате, а второй — формат текста даты.

Использование интервалов дат

Вычитание двух дат возвращает разницу во времени между двумя датами: field('date a') - field('date b'). Функция date_interval позволяет создавать интервалы внутри формулы для работы с ними.

Нужно вычислить новую дату на основе интервала даты/времени? Используйте функцию date_interval следующим образом: field('my date column') - date_interval('1 year')

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

Почему я не могу изменить значение ячейки поля формулы?

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

Что происходит, когда я удаляю поле, на которое ссылается поле формулы?

Если вы ссылаетесь на поле в формуле и затем удаляете это поле, ваше поле формулы станет недействительным и будет показана ошибка. Чтобы исправить это, вы можете восстановить удаленное поле, создать новое поле с тем же именем, изменить формулу так, чтобы она больше не ссылалась на удаленное поле, или переименовать другое поле.

Будущие возможности формул

Дополнительные функции

Множество новых функций будет добавлено в ближайшее время. Пожалуйста, сообщите нам о тех функциях, которые для вас наиболее важны, на нашем сообщественном форуме.

Неподдерживаемые типы полей

В настоящее время невозможно ссылаться и использовать следующие типы полей в формуле:

  • Сотрудники
  • Создано
  • Последнее изменение
  • Пароль
  • AI Prompt

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/mirrors-baserow.git
git@api.gitlife.ru:oschina-mirror/mirrors-baserow.git
oschina-mirror
mirrors-baserow
mirrors-baserow
develop