Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Функция NOT
служит для взаимного преобразования логических значений. Если переданное в функцию выражение равно FALSE
, она возвращает TRUE
, и наоборот, если входное значение равно TRUE
, функция возвращает FALSE
. Иначе говоря, функция меняет FALSE
на TRUE
и наоборот.
Синтаксис
NOT (Выражение)
Информация |
---|
В скобках может использоваться любое значение или выражение, которое можно оценить как |
Пример 1
Предположим, что вам необходимо отобразить в таблице цену товаров в каждой категории вы хотите рассчитать сумму продаж, без учета товаров из двух подкатегорий определенного бренда (в нашем примере это “Крупы” и “Сыры”будет “Lit”). Для этой цели этого можно воспользоваться следующей формулой:
Блок кода |
---|
EVALUATE SUMMARIZECOLUMNSСумма продаж без Lit = CALCULATE( SUM( 'товары 'факты онлайн продаж'[category],salesamount]), FILTER('продукты', "result", CALCULATE( NOT(CONTAINSSTRING('продукты'[brandname], "Lit" ) ) ) ) SUM('товары'[price]), |
Данная формула рассчитывает сумму продаж в таблице факты онлайн продаж
, исключая продукты с брендом "Lit". Функция FILTER
фильтрует таблицу продукты
таким образом, чтобы остались только те строки, в которых не содержится значение Lit
в поле brandname
. Это достигается с помощью выражения NOT(CONTAINSSTRING('продукты'[brandname], "Lit")),
которое возвращает TRUE
, если значение Lit
не найдено в столбце brandname
таблицы продукты
, и FALSE
, если значение найдено.
Пример 2
Представим, что вам необходимо вычислить сумму продаж для всех брендов, кроме одного (в нашем примере это будет "Contoso"
). Для этой цели можно воспользоваться следующей формулой:
Блок кода |
---|
Объем продаж = CALCULATE ( SUM ( 'факты онлайн продаж'[salesamount] ), FILTER ( 'товарыпродукты', NOT('товарыпродукты'[subcategorybrandname] IN { "КрупыContoso", "Сыры" })) ) ) |
Данная формула вычисляет сумму по столбцу price (SUM('товары'[price])
), но только для тех строк, где подкатегория товара ('товары'[subcategory]
) не равна Крупы или Сыры. Это условие задаётся через функцию FILTER
, у которой вторым аргументом используется выражение NOT('товары'[subcategory] IN { "Крупы", "Сыры" })
всех продаж, не связанных с брендом "Contoso"
. Это достигается с помощью выражения NOT('продукты'[brandname] IN { "Contoso" })
, которое исключает строки в столбце brandname
, в которых указано значение Contoso
.
Смотрите также
📄 Моделирование данных с помощью DAX
📄 Поддерживаемые функции DAX
📄 Математические операторы
Нужна дополнительная помощь?