Поделиться через


ЕСЛИ

Область применения: вычисление вычисляемого столбца вычисляемой таблицы Меры визуального элемента

Проверяет условие и возвращает одно значение, если оно имеет значение TRUE, в противном случае возвращается второе значение.

Синтаксис

IF(<logical_test>, <value_if_true>[, <value_if_false>])

Параметры

Термин Определение
logical_test Любое значение или выражение, которое можно оценить как TRUE или FALSE.
value_if_true Значение, возвращаемое, если логический тест имеет значение TRUE.
value_if_false (Необязательно) Значение, возвращаемое, если логический тест имеет значение FALSE. Если опущено, возвращается значение BLANK.

Возвращаемое значение

Либо value_if_true, value_if_false или ПУСТО.

Замечания

  • Функция IF может возвращать вариантный тип данных, если value_if_true и value_if_false имеют разные типы данных, но функция пытается вернуть один тип данных, если оба типа данных value_if_true и value_if_false имеют числовые типы данных. В последнем случае функция IF неявно преобразует типы данных в соответствии с обоими значениями.

    Например, формула IF(<condition>, TRUE(), 0) возвращает значение TRUE или 0, но формула IF(<condition>, 1.0, 0) возвращает только десятичные значения, даже если value_if_false имеет весь тип данных чисел. Дополнительные сведения о неявном преобразовании типов данных см. в разделе "Типы данных".

  • Чтобы выполнить выражения ветви независимо от выражения условия, используйте IF. ВМЕСТО этого ХИРВ .

Примеры

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

В первом примере проверяется, является ли значение столбца "Цена списка" меньше 500. Если это условие имеет значение true, возвращается значение Low . Так как нет value_if_false значения, возвращается ЗНАЧЕНИЕ BLANK.

Примеры в этой статье можно использовать с примером модели Adventure Works DW 2020 Power BI Desktop. Чтобы получить модель, воспользуйтесь образцом модели DAX.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low"
)

Второй пример использует тот же тест, но на этот раз включает значение value_if_false . Таким образом, формула классифицирует каждый продукт как низкий или высокий.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    "High"
)

Третий пример использует тот же тест, но на этот раз вложена функция IF для выполнения дополнительного теста. Таким образом, формула классифицирует каждый продукт как низкий, средний или высокий.

Price Group =
IF(
    'Product'[List Price] < 500,
    "Low",
    IF(
        'Product'[List Price] < 1500,
        "Medium",
        "High"
    )
)

Совет

Если необходимо вложить несколько функций IF, функция SWITCH может быть лучшей. Эта функция предоставляет более элегантный способ записи выражения, возвращающего более двух возможных значений.

ЕСЛИ. ФУНКЦИЯ EAGER
Функция SWITCH (DAX)
Логические функции