Россия Нет

Как проверить столбец в Power BI (Power Pivot) на наличие фильтров? DAX функции ISFILTERED и ISCROSSFILTERED

 
   
   

Приветствую Вас, дорогие друзья, с Вами Будуев Антон. В данной статье мы разберем, как в Power BI (Power Pivot) проверить столбец на наличие фильтров. А именно, рассмотрим функции ISFILTERED и ISCROSSFILTERED языка DAX, позволяющие отслеживать прямые и косвенные фильтры, наложенные на столбец.

Рассмотрим эти функции подробнее.

Для Вашего удобства, рекомендую скачать «Справочник DAX функций для Power BI и Power Pivot» в PDF формате.

Если же в Ваших формулах имеются какие-то ошибки, проблемы, а результаты работы формул постоянно не те, что Вы ожидаете и Вам необходима помощь, то записывайтесь в бесплатный экспресс-курс «Быстрый старт в языке функций и формул DAX для Power BI и Power Pivot».

Да, и еще один момент, в рамках распродажи до 29 ноября 2024 г. у Вас имеется возможность приобрести большой, пошаговый видеокурс «DAX — это просто» со скидкой 50% (вместо 10000, всего за 5000 руб.)

В этом видеокурсе язык DAX преподнесен как простой конструктор, состоящий из нескольких блоков, которые имеют свое определенное, конкретное предназначение. Сочетая различными способами эти блоки, Вы, при помощи конструктора формул DAX, с легкостью сможете решать любые (простые или сложные) аналитические задачи.

Итак, пользуйтесь этой возможностью, заказывайте курс «DAX — это просто» со скидкой 50% (до 29 ноября 2024 г.): узнать подробнее

до конца распродажи осталось:

 

DAX функции ISFILTERED и ISCROSSFILTERED в Power BI и Power Pivot

ISFILTERED () — проверяет столбец и если он находится под воздействием прямых фильтров, возвращает логическое значение TRUE, во всех остальных случаях — FALSE.

ISCROSSFILTERED () — проверяет столбец и если он находится под воздействием прямых или косвенных (кросс) фильтров, возвращает логическое значение TRUE, во всех остальных случаях — FALSE.

Синтаксис:

ISFILTERED ([Столбец])
ISCROSSFILTERED ([Столбец])

Пример формул на основе DAX функций ISFILTERED и ISCROSSFILTERED.

В модели данных Power BI Desktop имеется исходная таблица «Товары По Магазинам», содержащая столбцы [Товары] и [Магазины]:

 

В разделе отчетов в Power BI создадим два среза по обоим полям [Товары] и [Магазины] исходной таблицы:

 

Теперь, напишем формулы на основе DAX функций ISFILTERED и ISCROSSFILTERED, при помощи которых, мы сможем отслеживать наличие фильтров на столбце [Товары]:

ISFILTERED = ISFILTERED ('ТоварыПоМагазинам'[Товары])
ISCROSSFILTERED = ISCROSSFILTERED ('ТоварыПоМагазинам'[Товары])

Посмотрим, какие значения возвратят эти функции при пустых фильтрах (срезах):

 

Из визуализации в Power BI видно, что обе эти функции возвратили логическое значение FALSE. Все верно, ведь на столбце [Товары] нет никаких фильтров.

Давайте исправим эту ситуацию. Создадим срез (прямой фильтр) по полю [Товары]:

 

В данной ситуации, DAX функции ISFILTERED и ISCROSSFILTERED уже возвращают значение TRUE. И это правильно, так как, и та и другая функция учитывают прямые наложенные фильтры. А у нас, как раз, на столбец [Товары] наложен прямой фильтр.

Теперь, этот прямой фильтр уберем и отфильтруем другой столбец [Магазины]. При этом, [Товары], также отфильтруются. Но, это уже будет не прямой фильтр, а косвенный, распространяющийся от столбца [Магазины], так как оба столбца находятся в рамках одной и той же таблицы. Посмотрим какие значения ISFILTERED и ISCROSSFILTERED возвратят в этот раз:

 

Так как в этой ситуации на столбце [Товары] нет прямого фильтра, а только косвенный, то функция ISFILTERED уже возвращает логическое значение FALSE, так как она учитывает только прямые фильтры.

В свою очередь, DAX функция ISCROSSFILTERED по-прежнему возвращает TRUE, так как она учитывает кроме прямых фильтров, также и косвенные.

На этом, с разбором DAX функций ISFILTERED и ISCROSSFILTERED позволяющих проверить столбец на наличие прямых или косвенных фильтров в Power BI (Power Pivot), все.



 

Друзья, хотите изучить полный курс по языку DAX для Power BI и Power Pivot
со скидкой 50% вместо 10000 всего за 5000 р.?

 
акция действует до 29 ноября


 

 


 
Узнать все подробности об этом курсе, а также заказать его со скидкой 50% всего за 5000 руб. Вы можете на странице курса, кликнув по кнопке ниже (до 29 ноября):
 

Узнать подробнее и заказать курс всего за 5000 руб.

Пожалуйста, оцените статью:

  1. 5
  2. 4
  3. 3
  4. 2
  5. 1
(14 голосов, в среднем: 5 из 5 баллов)
[Экспресс-видеокурс] Быстрый старт в языке DAX

 
 
Антон БудуевУспехов Вам, друзья!
С уважением, Будуев Антон.
Проект «BI — это просто»
 
 
 
 

Если у Вас появились какие-то вопросы по материалу данной статьи, задавайте их в комментариях ниже. Я Вам обязательно отвечу. Да и вообще, просто оставляйте там Вашу обратную связь, я буду очень рад.
 
Также, делитесь данной статьей со своими знакомыми в социальных сетях, возможно, этот материал кому-то будет очень полезен.

 
Понравился материал статьи?
Избранные закладкиДобавьте эту статью в закладки Вашего браузера, чтобы вернуться к ней еще раз. Для этого, прямо сейчас нажмите на клавиатуре комбинацию клавиш Ctrl+D

Автор статьи:
Категория: Язык функций и формул DAX для Power BI и Excel (Power Pivot)

Добавить комментарий

* Заполняя форму отправки комментария своими персональными данными (имя, email, сайт и др.), Вы автоматически подтверждаете свое согласие на обработку своих персональных данных