Формула
Поле «Формула» считается автоматически из других полей той же строки. Вводить значение не нужно: поменяли исходные данные, и формула пересчиталась.
Как создать
Заголовок раздела «Как создать»- Откройте таблицу → вкладка «Поля» → «Новое поле».
- Введите название и выберите тип «Формула».
- Напишите выражение. Поля пишите по названию в квадратных скобках:
[Сумма]. Справа есть панель «Поля и функции»: клик вставляет поле или функцию в формулу. - Под полем видно, верна ли формула: «Формула корректна» или подсказка, что исправить.
- Сохраните. В таблице появится новая колонка.
Чтобы изменить формулу позже, откройте меню поля → «Изменить формулу».
Простой пример
Заголовок раздела «Простой пример»В таблице «Операции» есть поля «Сумма» (Деньги) и «Категория» (Текст). Нужна колонка «Сумма зарплаты»:
if([Категория] == "Зарплата", [Сумма], 0)То же по-русски, как в Excel:
ЕСЛИ([Категория] == "Зарплата"; [Сумма]; 0)Что можно использовать
Заголовок раздела «Что можно использовать»- Поля строки:
[Название поля]. - 45 встроенных функций: см. «Функции». Своих добавить нельзя.
- Операторы: арифметика, сравнения, логика. См. «Синтаксис».
- Числа, текст, да/нет:
12,0.05,"Зарплата",true.
Ограничения
Заголовок раздела «Ограничения»- Поля связанной строки через точку недоступны. Сначала добавьте «Поле из связанной таблицы». Его значение формула читает как обычное поле.
- Формула не может ссылаться сама на себя, в том числе по кругу через другую формулу.
- Формула не бывает обязательной и не правится вручную.
- Агрегаты и межстрочные функции (
sum,lag,running_sum…) в поле-формуле видят только загруженную порцию строк. Итоги по всей таблице считайте в виджете. Подробнее в «Межстрочные функции».
В виджетах
Заголовок раздела «В виджетах»Колонку-формулу виджет берёт как любое другое поле: «Сложить», «Среднее» и т. д.
Частые ошибки
Заголовок раздела «Частые ошибки»- Тернарный
? :. Его нет. Используйтеif(условие, тогда, иначе). - Одиночный
=в сравнении. Нужно==. - Поле без скобок.
Сумма * 12не сработает, нужно[Сумма] * 12. - Деление на 0. Результат пустой, а не ошибка. См. «Решение проблем».