Оформление
ЕСЛИ
1. версии
| Версия FineBI | Функциональные изменения |
|---|---|
| 6.0 | - |
| 6.0.16 | Расширение возможностей функции if по присвоению нескольких условий |
2. Обзор
| словарь | ЕСЛИ (условное выражение 1, результат 1, условное выражение 2, результат 2, ...... Другие результаты)Возвращает результат 1, если условное выражение 1 выполнено, результат 2, если условное выражение 2 выполнено, а условное выражение 1 не выполнено, или любой другой результат, если условное выражение не выполнено. | |
|---|---|---|
| Параметр 1 | условное выражение | Выходные данные должны иметь тип Boolean или numeric. |
| Параметр 2 | Результирующие параметры | Все параметры результата должны быть одного типа |
3. условия
- IF в трех параметрах, первый для типа bool (true или false) или числового типа (0 или 1); второй и третий параметр того же типа; два параметра в пустом, возврат к непустому типу параметров; два параметра разных типов: возврат к текстовому типу.
- Добавление вычисляемых полей При написании формул используемые поля не могут быть отфильтрованы за пределами фильтра Detail. Это связано с тем, что для показателей с фильтрацией по деталям поддерживаются только агрегированные функции. Если вам нужно использовать функции IF, используемые поля не могут быть отфильтрованы за пределами фильтра по деталям, и вместо них можно использовать другиефильтры.
4. Примеры
4.1 Пример 1: моноусловное суждение
Образец данных: Таблица достижений.xlsx
1) Определите, является ли оценка студента проходной или неудовлетворительной. Используйте Новый столбецв теме , введите формулу, как показано ниже.
Если оценка ≥60, верните "Pass", в противном случае верните "Fail".

2) Результаты расчетов показаны ниже:

4.2 Пример 2: многоусловное суждение
Если вы хотите дополнительно классифицировать оценки учеников на "отлично, хорошо, зачет, неудача", как вы можете добиться этого с помощью функции ЕСЛИ?
- Оценка <60: неудача
- 60 ≤ оценка < 70: проходит
- 70 ≤ оценка < 80: хорошо
- Оценка ≥ 80: отлично
Примечание: Для многоусловного суждения количество условий не может превышать 200.
1) Используя данные примера, выберите Новый столбецв теме , и введите формулу, как показано ниже.
Если оценка удовлетворяет первому условию "<60", верните "Fail"; данные, удовлетворяющие первому условию, больше не участвуют во втором условии суждения; данные, удовлетворяющие первому и второму условиям, больше не участвуют в третьем условии суждения. И так далее...

Если версия FineBI до 6.0.16, то для многоусловного суждения необходимо написать вложенность функции if.
В этом примере для достижения формулы: если ( оценки<60, "провал", если (оценки <70, "зачет", если (оценки <80, "хорошо", "отлично"))))
2) Эффект расчета показан ниже:

4.3 Более распространенные примеры
| Примерные сценарии | формулы | полное решение (математическая задача) |
|---|---|---|
| Определите, есть ли null | IF(isnull(номер заказа),0,1) | Возвращает 0, если номер заказа равен null, 1 - в противном случае. |
| Если + и условие | IF(AND(condition1,condition2), "Yes", "No") | Возвращает "Да", если выполнены и условие 1, и условие 2, в противном случае возвращает "Нет". |
| ЕСЛИ + или условие | IF(OR(условие 1,условие 2), "Да", "Нет") | Возвращает "Да", если выполнено одно из условий 1 и 2, в противном случае возвращает "Нет". |