As features like Drillthrough open the door for Power BI reports to become more interactive – and by extension, potentially more complex - it is important that they remain intuitive to use. For example, I have been in several meetings where a Power BI report with drillthrough and bookmarking capabilities is used to drive conversation. As the presenter navigates through the report, she is often asked to go back to the original page to double check her selection for drillthrough or check which bookmark option she selected. This happens for various reasons, whether it’s because the data doesn’t match what people were expecting (eek!), or because the meeting veered off topic a little and now no one can remember with certainty what was selected. All this clicking back and forth eats up valuable time and reduces productivity. The worst part? It’s easily avoidable – simply add dynamic titles to your drillthrough and bookmarked pages.
The suggestion of dynamic titling in Power BI was first introduced to me by a few of my colleagues at BlueGranite, and I was struck not only by its usefulness, but by how easy it is to implement. It’s simple, powerful, and immensely valuable from a user-experience stand point. It’s something every report developer should be able to do, and I’ll show you how in this post.
On the main page, users have the option to drillthrough on Breed or Group from the table, or to click the button to access a report page bookmarked for popular running breeds.
If you drillthrough on Group for “Herding”, you’re taken to a page displaying popular herding breeds (some of my personal favorites), with the title “Herding Group”.
After admiring the adorable herding breeds, you can navigate back to the main page and click the button, “View Popular Breeds for Runners”. This takes users to the Group drillthrough page, bookmarked to display running breeds rather than breeds for a single Group. The title reflects this:
The functionality of the title on this page was accomplished with a simple DAX measure: SELECTEDVALUE
SELECTEDVALUE checks to see if a field has only one value selected, and if so, it displays the value. If not, it displays an alternate result that you set.
For this page, I created the following measure:
Group Title = SELECTEDVALUE('AKC Top 10 Breeds'[Group Name], "Popular Dog Breeds for Runners")
In this measure, SELECTEDVALUE checks to see if only one Group Name is selected, and if so, displays it. If not, it displays the default text string, “Popular Dog Breeds for Runners”. I put that measure in a card visual to create my title. When the page is filtered to display a single group via drillthrough, it displays the Group Name:
When a user clicks the button to view popular breeds for runners, the page displays breeds spanning multiple groups, so the default title, “Popular Dog Breeds for Runners”, is displayed.
This title improves user-experience by displaying the user’s selection prominently on the page, so she can be confident of her selection and subsequent analysis of data on the page.
If you navigate back to the main page again, you can also drillthrough on Breed. This takes you to a page that can only be accessed by drilling on a single breed.
Since only one value from Breed will ever be shown on this page, rather than use a DAX measure to create a dynamic title, I display Breed in a card visual for the title. Because of the functionality of the report, there’s no need for a default value here, and thus no need to create a title measure. This avoids over-engineering the report with extraneous measures, as too many measures can affect performance. Displaying Breed in a card visual works just fine as a title for this page:
As you can see from the examples, the second part of creating dynamic titles is controlling how the user can interact with the report. For the flow of the report to work correctly, I never want users to access either the Breed or Group drillthrough pages via the tabs. By hiding the pages, I ensure that users can only access these pages by either drillthrough or the button from the main page, and thus ensure that my dynamic titles display accurately and in the intended context.
A dynamic title takes only a few minutes to implement and provides significant value to users during data analysis. Even little details can go a long way, especially when you’re trying to stay on track in a meeting, right?
For more help with DAX, or report design in general, please reach out to us here at BlueGranite!