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