Skip to content

FAQ по синтаксису общих функций

Вопрос 1: Нельзя ли ввести поля в формулу вручную?

О: Да, вы можете ввести часть названия поля или первую букву названия поля, FineBI автоматически подберет соответствующее поле, а затем вы сможете выбрать поле. Вы также можете выбрать поле в поле выбора поля слева.

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

Q2:Как выразить "не равно" в BI?

A:! = Подробнее см. в разделе: Вычислительные операторы и старшинство.

Вопрос 3: Как писать текстовые выражения в формулах?

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

Q4:Почему новый столбец формул не поддерживает прямой вывод агрегатной функции?

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

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

Q5:Почему формула указана как "Нелегальная"?

A: Изучение причин нелегитимности формулы

Q6:Если в формуле используется агрегатная функция для одного поля, должны ли другие поля также использовать агрегатную функцию единообразно?

О: Да.

Q7: Можно ли писать формулы для названий компонентов?

О: Нет.

Q8: Как сделать условное суждение в BI?

A: Функция IF и вложенное использование функций OR, AND / многократное вложенное использование функции IF.

Вопрос 9: В чем разница между " " и null?

Ответ: Извлеченные данные не различаются, а данные в реальном времени зависят от конкретного типа базы данных. Чтобы формула была точной, ее можно записать в формате, например, IF(Тип домохозяйства=""|| Тип домохозяйства=null,Характер здания,Тип домохозяйства).

Q10:Как использовать || и &&?

О: Логическое и и логическое или используются так же, какИ иИЛИ.

Например, формула: IF(Household type=""|| Household type=null,Building nature,Household type)- это то же самое, что IF(OR(Household type=""|| Household type=null),Building nature,Household type), которые обе указывают, что если Household type равен null или пустому месту, то возвращаются данные, соответствующие полю "Building nature", в противном случае возвращаются данные, соответствующие полю "Household type". В противном случае возвращаются данные, соответствующие полю "Тип дома".

**Q11:Если есть случай, когда знаменатель равен 0, как мне нужно написать формулу, если я хочу использовать деление для вычисления?**Можно ли исправить формулу прямо в BI, если знаменатель равен 0?

A:

Используя функцию IF, если делитель равен 0, то выведите непосредственно 0, в противном случае выведите результат вычисления деления.

Используйте функцию IF, чтобы вывести 0, если значение равно null, в противном случае выведите результат вычисления деления.

С помощью функции SIGN выведите данные, если они положительные = 1, в противном случае выведите 0.

Q12:Как выразить текстовое поле не пустым с помощью формулы?

A: len(field)! = 0

Вопрос 13: Почему формула "Время доступа < "2020-12-01"" не является законной?

Ответ: одно из полей является полем времени, а другое - текстовым полем, вам нужно преобразовать текстовое поле в поле времени, используйте функцию даты: access time>DATE(2020,12,1)

Вопрос 14: Почему такая формула, как AVG_AGG(количество записей), не является законной?

Ответ: Количество записей - это COUNT_AGG (количество записей в таблице данных), которая уже является агрегатной функцией, и эта агрегатная функция не может быть вложена в агрегатную функцию AVG_AGG().

Q15:Почему нельзя писать "Дата начала < NOW() < Дата окончания"?

Ответ: Необходимо использовать логическое AND() или &&. Например: начальная дата < NOW() && NOW() < конечная дата.

Вопрос 16: Как рассчитать разницу во времени между двумя точками?

A: ФункцияDATEDIF илиDATESUBDATE.

Q17:Почему нельзя создать формулу с помощью поля после использования фильтра деталей?

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

Q18:Почему нельзя вложить функцию IF и агрегатную функцию вместе, чтобы использовать формулы?

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

Вопрос 19: Когда следует использовать агрегатную функцию SUM_AGG, а когда непосредственно делить при выполнении вычисления деления?

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