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

Ключ

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

NOT

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

Синтаксис

NOT (Выражение)

Информация

В скобках может использоваться любое значение или выражение, которое можно оценить как TRUE или FALSE.

Пример

Предположим, что вам необходимо отобразить в таблице цену товаров в каждой категории вы хотите рассчитать сумму продаж, без учета товаров из двух подкатегорий определенного бренда (в нашем примере это “Крупы” и “Сыры”будет “Lit”). Для этой цели этого можно воспользоваться следующей формулой:

Блок кода
EVALUATE SUMMARIZECOLUMNSСумма продаж без Lit = CALCULATE(
          SUM(
        'товары    'факты онлайн продаж'[categorysalesamount]), 
       "result", CALCULATE(       FILTER('продукты', 
             NOT(CONTAINSSTRING('продукты'[brandname], "Lit"))
          )
        )   SUM('товары'[price]),

Данная формула рассчитывает сумму продаж в таблице факты онлайн продаж, исключая продукты с брендом "Lit". Функция FILTER фильтрует таблицу продукты таким образом, чтобы остались только те строки, в которых не содержится значение Lit в поле brandname. Это достигается с помощью выражения NOT(CONTAINSSTRING('продукты'[brandname], "Lit")),  которое возвращает TRUE, если значение Lit не найдено в столбце brandname таблицы продукты, и FALSE, если значение найдено.

NOT IN

Конструкция NOT IN используется для того, чтобы исключить определенные колонки из расчетов.

Пример

Представим, что вам необходимо вычислить сумму продаж для всех брендов, кроме одного (в нашем примере это будет "Contoso"). Для этой цели можно воспользоваться следующей формулой:

Блок кода
Объем продаж = CALCULATE (
         SUM (
           'факты онлайн продаж'[salesamount] ),
           FILTER ( 'товарыпродукты', NOT('товарыпродукты'[subcategorybrandname] IN { "КрупыContoso", "Сыры" }))
          ) )

Данная формула вычисляет сумму по столбцу price (SUM('товары'[price])), но только для тех строк, где подкатегория товара ('товары'[subcategory]) не равна Крупы или Сыры. Это условие задаётся через функцию FILTER, у которой вторым аргументом используется выражение NOT('товары'[subcategory] IN { "Крупы", "Сыры" })всех продаж, не связанных с брендом "Contoso". Это достигается с помощью функции NOT и оператора IN в выражении NOT('продукты'[brandname] IN { "Contoso" }), которое исключает строки в столбце brandname, в которых  указано значение Contoso.


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

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

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

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