Решение проблем с формулами
Если формула считает не то, что вы ждали, пройдитесь по списку. Случаи отсортированы по частоте.
Результат «—» (пусто)
Заголовок раздела «Результат «—» (пусто)»Чаще всего виновато пустое значение в расчёте.
- Незаполненное поле в строке даёт пусто.
- Любая арифметика с пустым значением даёт пусто.
- Деление на 0 даёт пусто.
Что делать. Подставьте значение по умолчанию и защититесь от нуля:
coalesce([Сумма], 0) * 12if([Цена] > 0, [Прибыль] / [Цена], 0)«Недопустимый символ «=»»
Заголовок раздела ««Недопустимый символ «=»»»Для сравнения нужны два знака: ==. Пишите [Категория] == "Аренда", а не [Категория] = "Аренда". Такое же сообщение будет на любой незнакомый символ, например на ? от тернарного оператора, которого нет. Вместо ? : используйте if.
«… — колонку пишите в квадратных скобках»
Заголовок раздела ««… — колонку пишите в квадратных скобках»»Название поля написано без скобок. Было: Сумма * 12. Нужно: [Сумма] * 12.
«Нет такого действия: …()»
Заголовок раздела ««Нет такого действия: …()»»Опечатка в имени функции или такой функции нет. Проверьте список функций. Русские имена тоже подходят: СУММ, ЕСЛИ, ОКРУГЛ. Своих функций добавить нельзя.
«Незакрытая строка» или «Незакрытая ссылка на поле»
Заголовок раздела ««Незакрытая строка» или «Незакрытая ссылка на поле»»Не хватает закрывающей кавычки " или скобки ]:
if([Категория] == "Зарплата, [Сумма], 0) // ← нет закрывающей "Правильно:
if([Категория] == "Зарплата", [Сумма], 0)«Поле вне агрегата — оберните в агрегат»
Заголовок раздела ««Поле вне агрегата — оберните в агрегат»»Это ошибка формулы виджета: поле стоит без SUM, AVG, COUNT. Виджет считает по многим строкам, поэтому поле должно быть внутри агрегата: SUM([Расходы.Сумма]). Подробнее в «Формулы в виджетах».
«Агрегат смешивает таблицы»
Заголовок раздела ««Агрегат смешивает таблицы»»В одном агрегате поля двух таблиц. Разнесите их: SUM([Аренда.Платёж]) - SUM([Расходы.Сумма]).
Виджет считает не так, как формула на бумаге
Заголовок раздела «Виджет считает не так, как формула на бумаге»Шаги конструктора показателя считаются по порядку, как на калькуляторе: «A + B × C» в шагах считается как (A + B) × C. В ручной формуле действует обычный порядок: сначала умножение. Если нужен другой порядок, переставьте шаги или поставьте скобки в формуле.
Процент в 100 раз меньше или больше
Заголовок раздела «Процент в 100 раз меньше или больше»- Финансовые функции (
roi,cagr,irr…) возвращают долю: 0,24 = 24 %. Умножьте на 100. - Поле «Процент» хранит число процентов: 7 = 7 %. В финансовые функции передавайте
[Ставка] / 100. - Формат виджета «%» показывает число как есть, без умножения.
Странные результаты у lag, running_sum, rank
Заголовок раздела «Странные результаты у lag, running_sum, rank»В поле-формуле межстрочные функции видят строки в порядке добавления (новые сверху) и только загруженную порцию. Сортировка таблицы на них не влияет. Для динамики во времени используйте виджеты. Подробнее в «Межстрочные функции».
roi, cagr, irr вернули пусто
Заголовок раздела «roi, cagr, irr вернули пусто»roi(x, 0): деление на нулевую стоимость. Защитите:if([Цена покупки] > 0, roi([Прибыль], [Цена покупки]), null).cagrтребует стартовую стоимость больше нуля и срок больше нуля.irrнужно минимум два потока и хотя бы одно отрицательное значение (вложение).
Чего нет в формулах
Заголовок раздела «Чего нет в формулах»- Обращения к полю связанной строки через точку. Используйте «Поле из связанной таблицы».
- Тернарного оператора
? :. Вместо него естьif. - Регулярных выражений. Вместо них есть
contains. - Своих функций.
XIRRс датами потоков. Естьirrпо равным периодам.
Если чего-то не хватает, напишите в поддержку: частые просьбы попадают в план.