Создание кнопки детализации в Power BI

ОБЛАСТЬ ПРИМЕНЕНИЯ: ✔️ Power BI Desktop служба Power BI ✔️

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

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

В этом примере после выбора строки Word на диаграмме активируется кнопка Подробнее.

See details button

При нажатии кнопки Подробнее открывается страница "Анализ покупательского поведения" с подробными сведениями. Как видно из визуального элемента слева, страница детализации теперь отфильтрована для Word.

Filtered visual

Настройка кнопки детализации

Чтобы настроить кнопку детализации, сначала необходимо настроить соответствующую страницу детализации в отчете. Затем необходимо создать кнопку с типом действия Детализация и выбрать страницу детализации в качестве назначения.

Так как кнопка детализации имеет два состояния (активна и неактивна), отображается два варианта подсказок.

Set up the drillthrough button

Если оставить поля подсказок пустыми, Power BI сгенерирует подсказки автоматически. Эти подсказки основаны на полях назначения и детализации.

Ниже приведен пример автоматически сгенерированной подсказки для неактивной кнопки.

"Чтобы детализировать сведения на странице «Анализ покупательского поведения» (страница назначения), выберите одну точку данных в поле «Продукт» (поле детализации)".

Disabled autogenerated tooltip

Ниже приведен пример автоматически сгенерированной подсказки для активной кнопки.

"Щелкните для детализации сведений на странице «Анализ покупательского поведения» (страница назначения)".

Enabled autogenerated tooltip

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

Передача контекста фильтра

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

Passing filter context

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

Filters on this page

Неоднозначный контекст фильтра

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

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

Ambiguous filter context

Настройка форматирования для неактивных кнопок

Вы можете настроить параметры форматирования для неактивного состояния кнопок детализации.

Customize disabled button formatting

Доступны следующие параметры форматирования:

  • Элементы управления текстом кнопки: текст, цвет, отбивка, выравнивание, размер и семейство шрифтов.

    Format disabled button text

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

    Disabled button fill

  • Элементы управления значком: форма, отбивка, выравнивание, цвет линии, прозрачность и вес.

    Disabled button icons

  • Элементы управления контуром: цвет, прозрачность, вес, скругленные края.

    Disabled button outline

Настройка условного форматирования для текста кнопки

Условное форматирование можно использовать для изменения текста кнопки на основе выбранного значения поля. Для этого необходимо создать меру в Power BI Desktop, которая выводит нужную строку на основе функции DAX SELECTEDVALUE.

Ниже приведен пример меры, которая выводит текст "Подробнее о продукте", если НЕ выбрано значение продукта; в противном случае выводится "Подробнее о [выбранный продукт]":

String_for_button = If(SELECTEDVALUE('Product'[Product], 0) == 0, "See product details", "See details for " & SELECTEDVALUE('Product'[Product]))

После создания меры выберите параметр Условное форматирование для текста кнопки:

Select Conditional formatting

Затем выберите меру, созданную для текста кнопки:

Value based on field

При выборе одного продукта кнопка выглядит следующим образом:

"Подробнее о Word"

When a single value is selected

Если выбрано более одного продукта или если продукты не выбраны, кнопка отключена. Текст кнопки следующий:

"Подробнее о продукте"

When multiple values are selected

Настройка условного форматирования для подсказок

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

  • С помощью пользовательской меры можно сделать так, чтобы подсказка для неактивного состояния содержала различные инструкции в зависимости от конкретного случая. Например, если пользователь должен выбрать один товар и один магазин, прежде переходить на страницу "Анализ рынка" с подробными сведениями, можно создать меру с описанной ниже логикой.

    Если пользователь не выбрал один товар или один магазин, мера возвращает следующий текст: "Выберите один товар и щелкните мышью, удерживая нажатой клавишу CTRL, чтобы выбрать один магазин".

    Если пользователь выбрал один товар, но не выбрал один магазин, мера возвращает следующий текст: "Щелкните мышью, удерживая нажатой клавишу CTRL, чтобы выбрать один магазин".

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

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

Условное задание целевой страницы детализации

Условное форматирование можно использовать для задания целевой страницы детализации на основе результата меры.

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

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

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

    Select a product and store

  • Кнопка должна поддерживать несколько целевых страниц детализации в зависимости от выбора пользователя.

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

    Select product and destination

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

Активация кнопки при выполнении нескольких условий

Рассмотрим первый случай, когда кнопка должна оставаться неактивной до выполнения дополнительных условий. Необходимо создать базовую меру DAX в Power BI Desktop, которая выводит пустую строку (""), если условие не было выполнено. Когда оно выполняется, выводится имя целевой страницы детализации.

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

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, “Store details”)

После создания меры выберите кнопку условного форматирования (fx) рядом с полем Назначение для кнопки:

Select the conditional formatting button

Наконец, выберите созданную меру DAX в качестве значения поля назначения:

Destination based on field

Теперь кнопка неактивна, даже если выбран один товар, так как мера также требует выбора одного магазина:

Drillthrough button disabled

Поддержка нескольких назначений

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

Create a table

Power BI использует точное совпадение строк для задания целевой страницы детализации, поэтому следует тщательно проверить, точно ли указанные значения соответствуют именам страниц детализации.

После создания таблицы добавьте ее на страницу в качестве сегмента с одиночным выбором.

Drillthrough slicer

Если требуется больше места по вертикали, преобразуйте срез в раскрывающийся список. Удалите заголовок среза и добавьте текстовое поле с названием рядом с ним:

Drillthrough slicer with no header

Кроме того, можно изменить ориентацию среза списка с вертикальной на горизонтальную:

Horizontal slicer

Чтобы указать целевую страницу для действия детализации, выберите кнопку условного форматирования (fx) рядом с полем Назначение для кнопки:

Select the conditional formatting button

Выберите имя созданного столбца, в данном случае выберите целевую страницу.

Select a destination

Теперь кнопка детализации активируется только в том случае, если выбраны товар и целевая страница:

Select product and destination

Гибридный сценарий

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

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

Destination logic = If(SELECTEDVALUE(Store[Store], “”)==””, “”, SELECTEDVALUE(‘Table'[Select a destination]))

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

Select product, store, and destination

Рекомендации и ограничения

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

Дальнейшие действия

Дополнительные сведения о похожих функциях и о взаимодействии с кнопками см. в следующих статьях.