Разработка по принципу "один ко многим" с фильтром Drillthrough в Power BI

Tags: Power BI

Одним из наиболее распространенных требований в любом решении для отчетности является возможность переходить от главной страницы к странице сведений и просматривать сведения о предмете или категории. В этом посте мы объясним, как эту функцию возможно просто реализовать в Power BI, и что нужно учитывать при реализации такого сценария. Фильтр детализации (drill-through) не является новой функцией в Power BI, но является одной из наиболее полезных и желанных функций, которая значительно упрощает вашу жизнь для разработки отчетов и визуализации.

Пример сценария

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

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

Фильтр детализации

Страница, которая имеет сквозную функциональность, может быть любой страницей в Power BI Desktop. Вам просто нужно создать страницу и поместить на нее все визуальные инструменты Вот пример страницы, которую я создал:

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

Чтобы преобразовать эту страницу в страницу детализации, вам нужно перетащить поле данных, которое вы хотите передать с главной страницы на страницу сведений, в раздел фильтра Drillthrough на странице сведений. На главной странице мы хотим перейти к деталям поля EnglishEducation. Итак, это поле, которое нужно перетащить в раздел Drillthrough.

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

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

Тестирование функциональности

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




После того, как вы нажмете на Education Category Details, вы перейдете на страницу сведений, и страница сведений будет отфильтрована только для категории, из которой вы пришли (на скриншоте выше, Partial College)




Все на этой странице отфильтровано для категории образования, которую мы детализировали на главной странице. Теперь вы можете вернуться к предыдущей (главной) странице с помощью Ctrl + click.

 

* Обратите внимание, что для действий кнопки требуется Ctrl + Click в Power BI Desktop. Они работают с обычным щелчком на веб-сайте.

Некоторые улучшения

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



Вы также можете удалить метку категории, поскольку заголовок First EnglishEducation вводит в заблуждение.



Теперь вы можете увидеть выбранную категорию образования на странице сведений для любой выбранной категории.

Удержание всех фильтров

Одной из замечательных функций, добавленных в эту функциональность, является опция «Keep all filters». Этот параметр по умолчанию включен. И он будет передавать все фильтры с главной страницы на страницу сведений. Посмотрим, что означает эта функция. Предположим, вы также хотите перейти к деталям категории образования и пола. Например, вы хотите детализировать данные Highschool для Male. Если вы перейдете на главную страницу и щелкните по карте, на которой есть оба фильтра, используйте опцию Drillthrough, вы получите возможность сделать это без каких-либо дополнительных действий.

В результате теперь вы можете увидеть страницу детализированных сведений, показывающую только EnglishEducation как High School и Gender как Male.



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

 

Множественный выбор

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




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

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

Причина такого поведения очевидна; у вас более одного значения, а визуальная карта выбирает только первый экземпляр значения. Тогда какое решение? У вас есть два варианта: один - использовать визуальный инструмент, который показывает несколько значений. Такие, как Multi-Row, визуальные карты или таблицы, и установите поле как Do Not Summarize.

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

 

Selected Gender = SELECTEDVALUE(DimCustomer[Gender],"All")

Вышеприведенное выражение говорит об этом; если отбор идет по полу, измерение вернет его. В результате в противном случае он вернет текст: «All». Это измерение теперь может использоваться в визуальной карте. Вот результат:

Множество страниц сведений

Вы можете иметь несколько страниц с подробными сведениями, вот пример того, как они будут выглядеть с точки зрения пользователя;

Резюме

Детализация - это одно из наиболее распространенных действий, позволяющих вам сэкономить место на главной странице и добавить более подробную информацию на странице сведений. Фильтр Drillthrough в Power BI работает с минимальной конфигурацией для такого поведения. В этом сообщении вы видели, как вы можете реализовать сценарий, который пользователь может перемещаться с главной страницы на детализированные и обратно.



No Comments

Add a Comment