Фильтры, срезы, слайсеры: фильтрация в Power BI

Фильтры, срезы, слайсеры: фильтрация в Power BI

Фильтрация данных — самый распространенный способ анализа данных. Она позволяет углубляться в ваши данные и отсеивать ненужную информацию. 

Power BI предоставляет пользователям широкие возможности в использовании фильтров и срезов для детализации данных. Мы рассмотрим все способы отфильтровать визуальные элементы с помощью DAX и интерфейсных решений. Их можно применять по отдельности или в любом комбинированном виде для более точного анализа данных.

Срезы  в Power BI

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

В зависимости от типа данных, вы сможете применить стиль "между", "Выпадающий список", "Список" и "Кнопки":

В обновлении от Декабря 2022 года, настройка визуального отображения срезов перемещена в меню форматирования. В этом меню доступны также настройки фона, границ и текста значений:

Панель фильтров

Этот инструмент доступен пользователям ваших отчетов если иконка "глаз" не перечеркнута. В таком случае, при загрузке pbix в service (облако Power BI), пользователь также сможет накладывать и очищать настройки. 

Разберемся как работает стандартная фильтрация на панели отчета.

Анонсы всех видео, статей и полезностей - в нашем Telegram🔥
Присоединяйтесь, обсуждайте и автоматизируйте!

1. Фильтр визуализации. Позволяет отфильтровывать визуализации практически по любым полям. Например, пользователь может посмотреть только данные для конкретного страны, города или типа продукта:

2. Фильтр страницы. Накладывает фильтрацию на все визуальные элементы на странице отчета:

3. Фильтр отчета. Накладывает условия на все страницы pbix файла. Можно использовать в случае, если пользователь хочет посмотреть только данные для конкретного года или сегмента.

Power BI также позволяет вам создавать сложные фильтры, которые могут осуществлять сравнение данных, например, используя операторы «равно», «больше» и «меньше». А в случае с датами, предоставляет подвергать отбору относительные даты: "находится на или после", "В последние х дней" и т.д. Вы также можете зафиксировать и скрыть фильтр для пользователя. 

Фильтрация в измерениях DAX

Вы можете использовать функции фильтрации DAX Power BI в различных сценариях, например, когда вы хотите:

  • Уменьшить количество строк в таблице.
  • Скрыть ненужные столбцы или строки.
  • Выполнить арифметические операции над предопределенными полями.
  • Рассчитать новые параметры или новые меры.
  • Создать динамический расчет.
  • Управлять контекстом данных и так далее. 

Функция фильтра DAX довольно проста для понимания и использования. Это простая команда, которая начинается с FILTER и принимает два параметра:

FILTER ( <Table>, <FilterExpression> )

Параметры, которые должны быть включены в функцию фильтра Power BI DAX, следующие:

  • <Table> = Имя таблицы, которую необходимо отфильтровать. Этот параметр также может содержать выражение, результатом которого является таблица.
  • <FilterExpression> = условие фильтра DAX Power BI, которое должно оцениваться для каждой строки данной таблицы. Строки, для которых условие становится ИСТИННЫМ, сохраняются, а остальные удаляются.

После применения функции фильтра функция фильтра Power BI DAX выводит пользовательские данные в виде таблицы , содержащей только отфильтрованные строки.

Обычно функции фильтра DAX можно увидеть и использовать внутри меры. Использование табличной функции в мере позволяет динамически создавать виртуальные таблицы на основе требований фильтра в визуализациях таблиц. Вот пример, чтобы просветить то, о чем говорится:

Filtred Sales = 
VAR __filtered = FILTER ( 'financials', 'financials'[Product] = "Amarilla" || 'financials'[Country] = "Germany" ) 
RETURN 
CALCULATE ( SUM(financials[ Sales]), __filtered )

В этом примере мы создаем переменную с именем __filtered, которая содержит данные для продукта Amarilla и страны Germany (указанных с помощью выражения ИЛИ «||»). Затем эта переменная передается другой функции, называемой CALCULATE, которая возвращает количество продаж для каждого из этих продуктов в отдельном столбце.

Функция фильтра не изменяет ваши столбцы

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

Table Filtred Sales =
VAR filtered =
    FILTER (
        financials,
        financials[Product] = "Montana"
            && financials[Country] = "Canada"
    )
RETURN
    SELECTCOLUMNS ( filtered, "Montana_Sales", financials[Sales] )

В этом примере мы создаем переменную с именем filtered, которая содержит данные для продуктов Montana и Carretera (указанных с помощью выражения ИЛИ «||»). Затем эта переменная передается другой функции  CALCULATE, которая возвращает количество продаж для каждого из этих продуктов в отдельном столбце.

Фильтры контекста

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

Направление распространения контекста фильтра отражается стрелкой в ​​середине любого отношения в представлении схемы Power BI.

По умолчанию распространение происходит от одной стороны ко многим сторонам, что означает, что фильтр в таблице Date распространяется на таблицу Sales , и то же самое применяется от Product к Sales . Но тогда фильтр по продажам не распространяется ни на продукт , ни на дату .

У вас есть возможность изменить способ распространения контекста фильтра, активировав двунаправленные отношения. Если бы отношение между Product и Sales было двунаправленным, то фильтр по Sales распространялся бы на Product .

Заключение

Мы рассмотрели всего четыре основных возможности фильтрации данных: стандартные срезы, с помощью панели отчёта,  внутри измерений и через связи модели.

Вы можете очень эффективно использовать срезы в Power BI для фильтрации небольших частей наборов данных. Они также играют ключевую роль в представлении наиболее важных данных в виде диаграмм или графиков.

Панель фильтров также дает возможность конечному пользователю самостоятельно влиять на данные в отчете. При этом, место на макете будет свободно для визуализаций.

Функция фильтра — это простая функция Power BI, которая позволяет перебирать строки любой таблицы, создавая контекст строки для каждой и проверяя, следует ли включать эту строку в ваши вычисления. Те, которые квалифицируются как true, объединяются в отдельную таблицу и передаются пользователю в качестве вывода. В этом уроке мы рассмотрели способы создания условий с помощью AND «&&» и OR «||». выражения.

Говоря о связях, мы хотим дать совет: двунаправленные отношения — мощный и опасный инструмент. Не используйте их, если у вас нет четкого понимания концепций моделирования данных и DAX.

Комментарии