Поля формул 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
(
'Number'
concat
, и это буквально текст Number
. При записи буквальных строк текста в формуле их нужно окружать кавычками.,
concat
, каждый входной параметр нужно разделять запятыми.field('text field')
concat
. Мы можем добавлять столько входных данных, сколько хотим, при условии, что каждый будет разделен запятой.text field
. Для каждой ячейки поля формулы эта ссылка будет заменена значением из поля text field
для этой строки.)
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')
Вы не можете изменить значение ячейки поля формулы. Это связано с тем, что поле формулы имеет одну формулу для всего поля, которая используется для вычисления значений отдельных ячеек. Если вы завершили свои вычисления и теперь хотите внести конкретные правки в результаты, попробуйте преобразовать поле формулы обратно в обычное поле.
Если вы ссылаетесь на поле в формуле и затем удаляете это поле, ваше поле формулы станет недействительным и будет показана ошибка. Чтобы исправить это, вы можете восстановить удаленное поле, создать новое поле с тем же именем, изменить формулу так, чтобы она больше не ссылалась на удаленное поле, или переименовать другое поле.
Множество новых функций будет добавлено в ближайшее время. Пожалуйста, сообщите нам о тех функциях, которые для вас наиболее важны, на нашем сообщественном форуме.
В настоящее время невозможно ссылаться и использовать следующие типы полей в формуле:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )