Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
NOT
Функция NOT
служит для взаимного преобразования логических значений. Если переданное в функцию выражение равно FALSE
, она возвращает TRUE
, и наоборот, если входное значение равно TRUE
, функция возвращает FALSE
. Иначе говоря, функция меняет FALSE
на TRUE
и наоборот.
Синтаксис
NOT (Выражение)
Информация |
---|
В скобках может использоваться любое значение или выражение, которое можно оценить как |
Пример
Предположим, что вам необходимо отобразить в таблице цену товаров в каждой категории вы хотите рассчитать сумму продаж, без учета товаров из двух подкатегорий определенного бренда (в нашем примере это “Крупы” и “Сыры”будет “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
📄 Математические операторы
Нужна дополнительная помощь?