Формула
Поле «Формула» — это поле, значение которого вычисляется автоматически из других полей строки. Никакого ручного ввода — система сама пересчитает значение при изменении исходных данных.
Как создать
Заголовок раздела «Как создать»- На странице схемы — «+ Поле» → тип «Формула».
- Введите название и ключ (как обычно).
- В большом текстовом поле — выражение. Подробный синтаксис: «Синтаксис формул».
- Под полем формулы — рейл «Доступные поля» с чипами. Клик по русскому названию вставляет ключ поля в курсорную позицию.
- Сохраните. Поле появится в таблице как ещё одна колонка.
Простой пример
Заголовок раздела «Простой пример»В датасете «Транзакции» есть поле amount (Деньги) и category (Текст). Хотим колонку «Сумма зарплаты»:
if(category == "Зарплата", amount, 0)Колонка покажет сумму, если категория — «Зарплата», иначе 0.
Что доступно в формуле
Заголовок раздела «Что доступно в формуле»- Ссылки на поля — по ключу:
amount,category,purchase_date. - 45 встроенных функций — см. «Функции». Своих функций добавить нельзя.
- Операторы — арифметика, сравнения, логика. См. «Синтаксис».
- Литералы — числа (
12,0.05), строки ("Зарплата"),true,false,null.
Ограничения
Заголовок раздела «Ограничения»- Нельзя ссылаться на поля связанной таблицы. Если у строки есть «Связь», то в формуле доступен только сам id связи, а не поля целевой строки. Подробнее: «Связи в формулах».
- Нельзя ссылаться на саму формулу из неё же. Это приведёт к ошибке (циклическая зависимость не разрешается).
- Формула не может быть обязательной — вычисление работает само.
- Нельзя редактировать значение вручную — это не строка ввода, а только результат.
В виджетах
Заголовок раздела «В виджетах»- KPI / графики / таблицы могут брать значение формулы как любое другое поле.
- Агрегаты (
sum,avg,count) на дашборде применяются к колонке-формуле так же, как к обычной колонке.
Частые ошибки
Заголовок раздела «Частые ошибки»- Тернарный оператор
? :. В формулах не поддерживается. Используйтеif(cond, then, else)вместоcond ? then : else. - Ссылка на несуществующее поле. Под полем формулы появится предупреждение «Неизвестные идентификаторы». Проверьте ключ.
- Циклическая зависимость. Формула
Aссылается на формулуB, которая ссылается наA. Поправьте, иначе обе ячейки будут пустыми. - Деление на 0. Результат —
null, не ошибка. См. «Решение проблем».