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 различными способами классификации каждого продукта на основе его цены на список.
В первом примере проверяется, является ли значение столбца 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 может оказаться лучшей. Эта функция предоставляет более элегантный способ записи выражения, возвращающего более двух возможных значений.