Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.

Функция OR возвращает логическое значение TRUE, если один из двух параметров, входящих в эту функцию, также возвращает логическое значение TRUE. Если же оба параметра возвращают FALSE, то функция возвращает FALSE.

Синтаксис

OR(<значение1>,<значение2>)

где:

значение1 и значение2 – используемые значения.

Пример 1

Предположим, у нас есть таблица “факты онлайн продаж” с данными о продажах и таблица "продукты" с данными о продуктах, и мы хотим посчитать сумму продаж для продуктов с цветом "blue" или брендом "Contoso".

Для этого мы воспользуемся следующей формулой:

Блок кода
languagedax
CALCULATE (
    SUM ( 'факты онлайн продаж'[salesamount] ),
    FILTER (
        'продукты',
        OR (
            'продукты'[colorname] IN { "blue" },
            'продукты'[brandname] IN { "Contoso" }
        )
    )
)

где:

SUM('факты онлайн продаж'[salesamount]) – рассчитывает суммарное значение столбца salesamount из таблицы факты онлайн продаж;

FILTER('продукты', OR( 'продукты'[colorname] IN {"blue"}, 'продукты'[brandname] IN {"Contoso"})) – возвращает только те строки исходной таблицы продукты, которые удовлетворяют условию внутри OR: цвет продукта ('colorname') должен быть "blue" или бренд продукта ('brandname') должен быть "Contoso".

Пример 2

Предположим, у нас есть таблица фактов “factonlinesales” с данными о продажах и мы хотим посчитать объем продаж либо для клиента с идентификатором 105, либо для валюты с кодом 1. Для этого мы воспользуемся следующей формулой:

Блок кода
CALCULATE (
    SUM ( factonlinesales[salesamount] ),
    FILTER (
        factonlinesales,
        OR ( factonlinesales[customerkey] = 105, factonlinesales[currencykey] = 1 )
    )
)

где:

SUM(factonlinesales[salesamount]) – суммирует все значения в столбце salesamount из таблицы factonlinesales;

filter(factonlinesales, OR(factonlinesales[customerkey] = 105,factonlinesales[currencykey]=1)) – возвращает только те строки из factonlinesales, которые удовлетворяют условию OR: строки должны иметь либо customerkey равный 105, либо currencykey равный 1. Таким образом, общая сумма продаж будет рассчитана только для тех строк, которые удовлетворяют условиям фильтра.

Примечание

В данный момент функция OR не может быть использована для фильтрации по атрибутам из разных измерений (таблиц).


Смотрите также

📄 Моделирование данных с помощью DAX
📄 Поддерживаемые функции DAX
📄 Математические операторы

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.