Skip to content

Устранение причин нелегальных формул

Описание сцены

Пользователи при использовании формул иногда появляются в формуле не законно, эта глава предоставит пользователям некоторые из них не законно, когда устранение неполадок способ.

Пользователи могут судить о том, является ли формула законной или нет, ниже области редактирования формул, как показано ниже:

1590388021664508.png

Анализ причин

Этому есть две основные причины:

1) Неправильно введены знаки препинания и форматирование полей.

2) Введенная формула не соответствует логике функции BI.

Синтаксическая ошибка, отсутствующий маркер

Ошибка "Syntax error, missing token" обычно вызвана неполным операторным выражением.

Например, если пользователь напишет следующее выражение: ABS(Contract Amount)+, будет выдана ошибка "Синтаксическая ошибка, отсутствует маркер":

ошибка символа

Например, если вам нужно добавить новый столбец, то всем столбцам будет присвоено значение 1. Если вы введете "1", то возникнет следующая ошибка из-за отсутствия половины английских двойных кавычек "Character Error":

Агрегатные функции не поддерживаются для расписаний

Агрегатные функции используются только для вычисления полей. Дополнительные сведения об агрегатных функциях FineBI см. в разделе: Агрегатные функции.

Агрегатные функции не могут быть использованы в таблице деталей, и об ошибке сообщается, как показано на следующем рисунке:

1590386634346993.png

Прямой вывод функций агрегации не поддерживается

Описание проблемы: При использовании агрегатных функций возникает ошибка "Прямой вывод агрегатных функций не поддерживается".

Причина анализа: Функция агрегирования вычисляет агрегированное значение, а на этапе Self-service наборов данных использовать функцию агрегирования невозможно.

Решение: Используйте функцию "Добавить вычисляемое поле" на этапе создания компонента, а затем введите связанную функцию для вычисления.

Агрегатные функции не могут вложить агрегатные функции

Агрегатная функция не может быть использована внутри агрегатной функции, иначе формула не будет законной, как показано ниже:

Невозможно смешать агрегатные и неагрегатные параметры

Например, при использовании функции IF для выполнения вторичных вычислений в агрегатной функции, когда формула содержит неагрегатные параметры, формула не является законной, как показано на следующем рисунке:

На этом этапе вы можете превратить неагрегатные параметры в агрегатные, как показано на следующем рисунке:

Однако агрегатные функции могут быть вложены в неагрегатные, и sum_agg(max(field)) является допустимой, как показано ниже:

1590386875583202.png

Подробные отфильтрованные метрики поддерживают только функции агрегирования

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

Например, чтобы отфильтровать данные по показателю "Сумма окупаемости", создается новое вычисляемое поле, формула которого показана на следующем рисунке:

Поскольку используется функция ЕСЛИ, а не агрегатная функция, формула не является законной.

Вместо них можно использовать другие фильтры.