Фильтрация данных — самый распространенный способ анализа данных. Она позволяет углубляться в ваши данные и отсеивать ненужную информацию.
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.
Комментарии