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

Ключ

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

NOT

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

Синтаксис

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

Информация

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

Пример

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

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

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


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

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

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

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