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


IF

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

Проверяет условие и возвращает одно значение, если оно 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или BLANK.

Замечания

  • Функция 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.EAGER.

Примеры

Следующие определения вычисляемых столбцов Product используют функцию 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. Таким образом, формула классифицирует каждый продукт как Low или High.

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

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

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

Кончик

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

функция IF.EAGERSWITCH (DAX)логические функции