Uncategorized

Creative filter display

I saw this post on r/powerbi today asking about filter alerts: https://www.reddit.com/r/PowerBI/comments/hyqpxd/filter_alert/ and it inspired me to make my first post in a while. While this method might not always meet the need for things like screenshotted reports where you want the filters selected to be displayed, it’s a cool way to handle the problem of identifying what filters are applied to a report page.

Our goal is to land a card displaying the number of dimensions we are filtered on to give the end user the ability to quickly see that filters are applied, and then hover on the card to see which filters are applied:

*Note that this does not count how many individual fields of a dimension are selected

Step One: DAX

The key to this method is creating DAX that will calculate the number of dimensions filtered. This is easily done through IF ISFILTERED functions that return a 1 for filtered, and 0 for not filtered, and then adding them up for all of the dimensions we are using as filters.

In this example, I am going to filter on the dimensions of City, Name, and Zip Code. Here is the DAX:

Filter count = IF(ISFILTERED(‘Table'[City]), 1, 0)+IF(ISFILTERED(‘Table'[Name]),1,0)+IF(ISFILTERED(‘Table'[Zip Code]), 1,0)

And here is the outcome:

Now I will adjust the DAX so rather than a 0, we end up with a blank (note this is probably not optimal DAX, but it is functional. there is probably a better way to do this if you are a DAX lover):

Filter count = IF(IF(ISFILTERED(‘Table'[City]), 1, 0)+IF(ISFILTERED(‘Table'[Name]),1,0)+IF(ISFILTERED(‘Table'[Zip Code]), 1,0) = 0, “”, IF(ISFILTERED(‘Table'[City]), 1, 0)+IF(ISFILTERED(‘Table'[Name]),1,0)+IF(ISFILTERED(‘Table'[Zip Code]), 1,0))

Now we will create one more Measure to take care of the display label:

Filter count display = IF([Filter count]=””, “”, “Filters Applied:”)

Now that we have the DAX work done, it is time for formatting and placement

Step 2: Formatting the visuals:

There are three components to formatting for this. First, we will format and place the card and label (if applicable) itself, then we will format the Visual header and Filter pane to land the user experience.

The key to this feature is to make it subtle yet noticeable. If you use custom slicer panels, a good placement is with your button to active the slicer panel. If not, I like to go with lower corners or upper corners, but also need to call out that the number is representing the filters. I am going to demonstrate the latter, as it is more common.

Start by creating a button that uses conditional Button text referencing the “Filter count display” measure we created above and has all other options turned off and give it a color that will stand out:

Next, we format the card with “Filter Count” measure in it to align with the Button. Here are a couple screenshots of the effect we created:

No Filters applied
1 Dimension filtered
2 Dimensions filtered

*This could totally be done as One measure that concatenates “Filters Applied” with the number, but Buttons do not have the Filter Icon in the visual header, and Cards do not allow the formatting precision required to make this perfect.

Now that we have taken care of the display, we need to bring in the ability to see what filters are applied. We are going to utilize the “Filter icon” Visual header of the card, and formatting of the filter pane to do this.

Step 3: Formatting the visual header

First things first, turn on the visual header if it is off and turn off all of the visual header elements except Filter icon.

I say this all the time, but it is incredibly important to be intentional with your visual headers! If the option is not one you want the user to work with, turn it off. It will eliminate confusion and give a clear purpose for the header.

We now have a flyout list of filters applied when hovering on the Filter Icon:

But we are not done yet! The formatting of the filter flyout is based on the formatting of the Filter Pane, so we will want to customize the Pane to give this a consistent look and feel with the rest of the report. This might be done already if you take formatting that far and use the filter pane already.

Step 4: Formatting the filter pane and filter cards

To format the filter pane/filter cards, we start by clicking in blank space of the report. this allows us to see the filter pane formatting options under the visualization pane

Apply a consistent color scheme to the pane and filter cards

The formatting of the individual filters that pop up is done via Filter cards > Type: Applied

And here is how it looks with multi-select on a slicer:

Conclusion

While this is not the most “in your face” approach to displaying what filters are hitting a report, it can subtly be built into any report without taking up a ton of real estate and add a ton of value. In addition, dynamic Alt Text can be added to this Card to aid with accessibility. Hope this is helpful! PBIX can be found here for download.

Uncategorized

Themeable Backgrounds for Power BI

I came up with this concept while working on the front end of the Regional Emergency response solution. When trying to templatize some work that was done for a specific customer, I realized that the accent color I had applied would not look good when branding for other customers – as dark logos did not show up well against a dark blue background.

Transparency in PowerPoint

To get around the branding issue, I switched from dark blue to White accents in the banner…. and hated it. I went with this version for a couple days, and then one night at around midnight an idea popped into my head…

What if I cut out sections of my background image and let the page background show through??? I was excited to try it out so I shot out of bed and headed to the computer. It was a little painful at first to land the shapes how I wanted to, but it worked!

How to build your background in PowerPoint with Transparent Elements

If you are not familiar with my process for building backgrounds, check out my post on Background Concepts to get started.

Merging Shapes

Start off by building your complete background with your ideal accents. I will keep this one simple so it is easy to follow, but you can get very advanced using these techniques.

Next, Select your underlying shape (big rectangle in this case) and your accent shapes. Be intentional with your click order here, as PowerPoint will use the formatting of the first selected object in the next step.

With your objects selected, go to the Shape Format options in the ribbon and Select Merge Shapes and combine

You are now left with a big rectangle underlying that has cut-out transparency

Bring your new background into Power BI Desktop

You can now edit your accent colors by adjusting your Page Background color in the visualizations pane:

If you have really complicated shapes you can look at using the other Merge Shape functions, such as Fragment.

Hope this is helpful! Check out the background gallery to download this background example and more.

bookmarking

Matrixed Report Navigation

I was recently tasked with revamping the Microsoft 365 Usage Analytics template app, as it was created several years ago and could benefit from many of the new features in Power BI.

When I initially opened the report the first thing I noticed is that it was 26 tabs. 26 tabs is a LOT of tabs. When a report is structured with this many tabs, it can lead to a linear consumption experience where to end user goes through each tab in sequence to wade through the information, and navigating to a specific piece of information can be a challenge.

We did a quick inventory of the 26 tabs, and decided on a “Matrixed Navigation” that would consolidate tabs and make for a better user experience. At the end of the day, we ended up with 5 Topics or “Categories” of depth and built in navigation to let users navigate the vast amount of content in the report within these categories. This was achieved by looking at commonalities in each tab and consolidating at the right depth to make for the most seamless user experience.

Pre-Built Matrixed Navigation Template

I have found that using this Matrixed navigation approach has been successful when working with really heavy Reports that cross many topics and depths of content, so I wanted to share an example PBIX that has all of the Navigation components built in and ready to be used!

As I mentioned in my post on In-Page Navigation, prior to Visual grouping, I would never have suggested using this kind of navigation, as it was far too tedious to achieve, and hard to update when things needed adjustment. Luckily, when developing the redesign of the Usage analytics reporting, Visual grouping was in test so I was able to utilize it in the build and discovered some really cool functionality when combining Visual groups with Bookmarks

How It works

The template has two forms of navigation: Page Navigation for “Categories” that control the depth, and In-Page Navigation to allow users to work through their content within the same level of depth

For Categories, we are simply navigating from page to page with bookmarks that only include the “Current Page” option selected:

For the template, I refer to my In-Page Navigation “Stages”. The way these bookmarks work is by hiding/unhiding the Selected visual groups, and correlating buttons while keeping “Data” unselected to avoid any funny business if slicers are brought into the picture.

Since we are effectively hiding/unhiding the groups, rather than the individual items, we can modify what is included in the group without needing to update any bookmarks

How to Implement the Template

Start by Downloading the template here

Once you have the report template and your data, you can build the Stages out. There are currently placeholders in each stage to create our groups so that all of the bookmark plumbing could be achieved ahead of time.

Add your visuals to the page, then drag the elements into your Stage 1 Visual Group

After building out the remaining visuals for my Stage 1, I can delete the placeholder shapes and retain the group:

No Bookmark updates are needed at this point! You can now modify your button text as it applies to the report, and navigate to your “Stage 2” with a Ctrl+Click to begin building out your next section.

From here, you can repeat the same process as the above. If you only have 2 or 3 “Stages”, you can remove any unnecessary buttons, and modify the Background in PPT to make your “Tab” structure look nice and clean.

See Background Gallery for PPT file and this post on how to use backgrounds if you not yet familiar

Considerations:

Not all report content makes sense to navigate in this way. I usually reserve these methods for very large reports that are not only broad in content, but have varying levels of depth.

Accessibility

When creating a report with a large amount of Buttons, it is very important to modify the Tab Order so that it has a logical flow for keyboard navigation. I have set this up in the template, but when you bring in new visuals you will have to ensure that the tab order is adjusted to give the buttons the correct order. This is easy to achieve in the Selection Pane:

Conclusion

Matrixed report navigation can give end users a much cleaner experience than tabs when working with a high volume of data than Tabs. Try it out and let me know how you like it!

Quick Links

Download the Template

Background Gallery

bookmarking

Creative Bookmarking for Tooltip Page Control

One of my favorite things to do in Power BI is get creative with bookmarking, and last week I received a question that made me think of this idea.

Essentially, I was asked if it is possible to use bookmarks to switch between a default Tooltip and a fancy Tooltip page. The short answer is “No”… as bookmarks do not capture the state of the formatting, and tooltip type comes from the formatting. But this made me think about how to make something like this work, and after a little bit of playing I was able to come up with a solution.

To be blunt, this method is not for bookmarking newbies, and the use case is pretty narrow, but I wanted to share it, as I imagine it will get a lot of people thinking outside the box when it comes to bookmarking.

Solution

What we want to do here to work around the problem of Bookmarking not capturing format state by creating a two states for our Tooltip Page, and using bookmarks to swap them back and forth.

I have a Matrix of GDP/Gov Integrity Score by Country that I want to be able to add additional context to via the tooltip page feature. For guidance on how to design tooltip pages, check out Power BI Tooltip page Guidance

My First tooltip is going to be a matrix that provides additional data points for the country that we hover on:

Next I will hide my table and build out a “fancy” tooltip, and group the objects:

Now I will create my Bookmarks that control which version of the tooltip is visible. They key here is to disable the “Current Page” option from the bookmark! This will allow us to call the bookmark and make the swap without navigating to the page:

Simple Bookmark activated Result:

Fancy Bookmark Activated Result:

Now we need to make this thing user friendly, which is where the real challenge comes in. If you have read my posts on User Friendly Drill Down, or In-Page Navigation, you have seen the importance of buttons for user experience, and formatting of buttons to ensure the users know where they are at all times.

I have added some buttons to select the simple or the fancy tooltip type, but I want to be able to have them change color depending on if they have been activated or not so our user can tell which type they are on

Well, in this case, formatting button state gets pretty complex, as we are calling on a bookmark that is impacting a separate page… not the one we are on. Bookmarks are tab specific, so it is not possible to modify the tab we are on and get the desired swap on the tooltip page.

This is where Conditional formatting of buttons, and some trickery with Slicers comes into play! By adding a slicer that has no relationship to our data (or all interactions to our visuals turned off) on the main page, and syncing it with the same slicer on the tooltip page, we are able to get the job done.

Adding the slicer

The field used in the slicer is really not important in this case, all that matters is that it does not impact our data/tables and it is able to be used in conditional formatting. For simplicity, I am going to create a new table with 2 values in it, 0 and 1. and add a slicer to our main page:



Next, I will add conditional formatting to our Buttons. “Simple” is going to darken when the “Status” slicer is on 0, and “Fancy” will darken when our slicer is on 1.

The option for Conditional formatting can be found in the format pane by hovering on the dots next to the various color selections. In this case I am going to conditionally format my Fill.

Here is the result of the conditional formatting:

This is great, but at this point it is not functional. To make this work how we want it to, we are going to need to do the following:

  • Bring the slicer to our tooltip page and Synced with the main page
  • Update our bookmarks to also modify the slicer while keeping it hidden
  • Hide the slicer from our main page

I have copied/pasted my slicer from the main page to the tooltip and selected Yes to Sync the slicers:

Now, “Fancy” needs to be on the “1”, so I will change that, hide the slicer, and update my bookmark:

Next, I will activate my “Simple” bookmark, adjust the slicer to “0”, hide it, and update the “Simple” bookmark:

Testing the Buttons on our main page, we can see the slicer is working as intended. We can now hide the slicer on our main page, and we have a fully functional Tooltip Swap:

Conclusion

Bookmarks are incredibly powerful when creating user experiences in your Power BI Reports. While this example is fairly niche, it demonstrates the capabilities of the feature, and will hopefully inspire some creativity!

Download the PBIX Here

Uncategorized

In-Page Navigation for Performance and User Experience

Overview

This concept came about while I was working on a Power BI report for the 2018 Ryder Cup. I was attempting to build out an experience to match a design that a professional web/app designer had created free form without knowing what could be done in Power BI.

The key objective was to make an extremely User friendly touch screen experience for use by the Captain and Vice Captains of the US team.

It was an extremely tedious process to achieve this back then and I would have never suggested others to try it… until Visual Grouping was released a couple months back changed the game.

In this post, I will give examples of in-page navigation, step by step instructions on how to implement it in Power BI, and demonstrate why it is valuable.

What is it?

In-Page navigation utilizes buttons and bookmarks to create navigation within a page. It can be extremely powerful at giving users a guided experience, and an app or website feel to a report.

Why?

End users are often overwhelmed by the volume of visuals on a page and lose sight of what is important on the page. I like to follow the concept of “If the end user does not need to see the visuals at the same time, do not show them at the same time”. Keeping the layout simple will lead to less risk of misinterpretation. In addition, separating content into logical buckets and using these methods effectively prioritizes the queries, as hidden visuals do not run queries until they are exposed by the end user.

Getting Started

There are many ways we utilize these concepts to bring reports to life. I am going to focus on the idea of having an overarching topic for a page, and navigating the sub-topics within the page.

Like my previous posts on Backgrounds and Overlays , I am utilizing a data set of King County Health Inspection records.

Step 1. Bucket Your Content

In this example, I have an overarching Page topic of “Inspection Results”. I have some KPIs and a line graph that i want to keep exposed at all times, as they are the “Go-To” visuals for my report. I also have a couple slicers I want to keep exposed at all times.

I have looked through my data and determined some logical breaking points for the story: Zip Code, Inspection Type, and Closed Businesses.

I have also created a background to meet my needs and brought it into the report with a section for my in-page navigation and buttons. Each button will have two versions, one is to appear “selected” and the other to appear as “unselected”

Step 2. Build Your Views

I will now build out my visuals for the “Zip Code” sub-topic. Once the visuals have been determined, I will group them (ctrl+click to select all, right click > Group to group them):

Next, I will rename my group to “Zip Code” and use the selection pane to hide the group. This will give me a blank canvas to build my next section into. I will also shift which buttons are visible to the next section.

This is what my selection pane looks like at this point:

Now I will build out my Inspection Type sub-topic visuals, group them, and hide them as we did for Zip Code.

Finally, I repeat the same steps and build my Closed Business visuals.

I now have a completed Report that is ready to be assigned Actions with Bookmarks. Here is what my selection pane looks like at this point:

Step 3. Bring it to Life with Bookmarks

First, I manually return the report to the state of my first button by hiding/unhiding visuals and buttons. I then select the items I want to be impacted by the Bookmark and create a new Bookmark.

I will set my options to Selected Visuals, and leave the other options turned on. Note that this may vary depending on your use case! If you have slicers within your visual groups, you may or may not want to have data turned on, as the bookmark will preserve the state of those slicers if data is selected.

By using Selected Visuals bookmarks and not including the slicers that are outside of my groups, I am able to toggle between my groups while not impacting the slicers and preserving the user’s filtering.

I will now manually hide/unhide items to my next group and repeat the process.

And one more time:

I can now click through my bookmarks in the bookmarks pane to ensure they are acting as anticipated

Once I have validated they are acting correctly, I will now assign them to my buttons.

Step 4. Assign your Bookmarks to Buttons

Select Button then Change “Action” type to “Bookmark”, and find the appropriate Bookmark. I also suggest changing the Tooltip to make the hover over experience intuitive

Performance Improvements

I can now click my buttons and see the affect. Utilizing the performance analyzer, we can see how the queries are coming in. On the left below is the performance analyzer from the initial page load. On the right below, we have selected a button and can see there are only 5 visuals being impacted.

Oftentimes I will see reports that have every topic/subtopic forced into a single page and visible or spanning multiple pages. This is done via either increasing page length, or or separating topics into different pages.

The End user experience on a long scrolling page can be rough – they may come in to see my high level KPIs, or a specific sub-topic, but are forced to wait for the entire page to load as queries are not prioritized – Things they don’t care about are loading first and slowing down the things they do care about.

If a sub-topic is moved to it’s own page, I often see that users will force more visuals into the page to fill the space and it can result in poor performance for unnecessary visuals

By consolidating these sub-topics into a single page and navigating within we unlock a powerful user experience as well as performance improvements.

For the Ryder Cup example, we went from 7 seconds on a click, to .5 seconds due to avoiding re-rendering unnecessary items, and spreading out the queries to fire off as needed.

Accessibility – Tabbing

Buttons for In-Page Navigation work very well with Tabbing. Now that I have completed my In-Page Navigation, I can utilize the Tab order in Power BI Desktop to set the report up for accessibility. End users can tab to buttons and hit Enter to activate the bookmark.

Updating/Editing

Remember earlier when i mentioned the painful process of doing this prior to Visual Grouping? That really came into play when it was time to edit/update what was included in this navigation.

Prior to Visual grouping, the update process would be to simply start over. Now that we have visual groups are are technically hiding/unhiding the group, not the individual items, we can simply swap out what is included in a group.

If I want to replace my Map in the “Closed Business” with a matrix, I can simply Delete the map, build my new Matrix, and drag it into the group. No updates are needed beyond this, not even an “Update” on the bookmark!

The same applies to simply bringing new items into a group without replacing anything.

By Implementing Buttons and Bookmarking, the possibilities for report navigation and user experience are nearly endless. With a little creativity and these tools in the tool belt it is relatively easy to create beautiful and robust reports that feel like applications or websites. Your users will thank you!

Try it out and let me know what other ideas you have implemented using these concepts!

If interested in learning more about the Ryder Cup Project, check out these links:

Download the PBIX for this example Here!

Uncategorized

Overlays for True Self Serve Reporting

No Training Required

Around 18 months ago I was working on a Power BI Report build that was going to have a few hundred monthly users, many of them accessing the report daily. We had just formed a new team doing BI for Finance and one of the mantras for the team was “No Training Required”.

Having been knee deep in Power BI for a couple years at this point, I knew it would be a challenge to build feature rich report that meets the needs of multiple levels of user and make it intuitive enough to avoid having to train end users. Many of the powerful features of Power BI are not very discoverable for end users natively, and since each report has a different set of features, past experience as an end user may not be valid.

Fortunately, Buttons has just come out and I had been playing with bookmarks to see what i could do with them. Combining the concept of No Training Required with Buttons/Bookmarks led to the idea of building a guided user experience native to Power BI.

In this post, I will show how to build a guide overlay for true self service reporting and how to implement it into Power BI using Buttons and Bookmarks.

Land Your Views

It is important that your views and features are finalized before taking these steps to avoid re-work. I always finish everything I can in a report before I get to the stage of overlaying.

Getting Started

If you read my post on Backgrounds in Power BI, some of this will look familiar. Like I mentioned in that post, I like to work on these kinds of things in PowerPoint, but many pro tools for design will work as well or better

First, I take a screenshot my finalized Report page and paste it into PowerPoint.

Now I will build shapes on top of my report view that will help guide my end users to features. I will often start by overlaying a rectangle that has a fill with 70-80% transparency, then bring in solid shapes with text.

I will now remove the Report Page screenshot to be left with my overlay and save it as a picture.

In Power BI, I will create a “?” Button and insert my Image.

Ensuring that my image is on the top of my selection pane and selected, I will create a Selected Visual Bookmark. I usually turn off data as a habit for overlays, although it will not affect anything here. (blog post on this coming soon)

I will then hide the image, and create a second selected visual bookmark

Now I will assign the Bookmark Action to my “?” Button and give it a good Tooltip

I will then activate my button to show the guide, and then assign our second bookmark to the guide image. This will allow the user to click anywhere after opening the guide to close it and get back to working with the report itself.

Overlays Beyond Guides

Using the concept of overlaying information and utilizing bookmarks lets us tap into a new dimension in Power BI. There are many uses for this beyond simple guides. Not only can we bring in static images with this approach, but also dynamic fields from our dataset. Here are some of the ways I have utilized this concept:

  • Definitions
  • Deeper Context
  • Process Documentation
  • Refresh Timing/Schedule

Lastly, Enjoy the free time you have created by giving users a guided experience that needs no training!

Download the PBIX for this example here

Uncategorized

Background Concepts for Power BI

A solid layout is the foundation of every high quality report design. In this post I will show how to implement backgrounds into Power BI and provide resources to get started.

Why Backgrounds?

When thinking about Data Visualization, the primary focus is almost always on which types of visuals work best with the data in hand to tell a story. Even if a report has perfect Data and Visuals, it is the responsibility of the report author to land a cohesive story that is easy for the end user to navigate.

Margins, Distribution, Consistency, and Alignment are extremely important and often overlooked. If done poorly, these elements can take attention away from the story and leave users dissatisfied and confused. Fortunately, all four of these items can be tackled quickly and easily with a well made background.

A well made Background will:

  • Give structure and flow to a story
  • Guide and Guardrail the creative process of finding the story
  • Mask imperfection at the report level

There are many ways to build a Background for Power BI. I personally use PowerPoint for its simplicity, but more advanced graphic designers will use pro tools like Adobe Illustrator. At the end of the day, all we need to get to is a properly sized high quality image.

Avoid using shapes in Power BI to build your background

Every shape you bring into the Power BI Report directly will impact your performance, regardless if there is a query associated with it. If you bring in a single image for the background instead, you will be rendering a single element, rather than 10+ for a rich background. See the Performance Analyzer for Detail on this.

Getting Started

In the case where I do not have a story yet, I will start out in Power BI and identify an “Anchor Visual” to build my experience around. This would be the primary draw of your report page.

In this example I am looking at King County Health Inspection data and landed on a map to be my Anchor Visual. At this point, I will go into PowerPoint and start building my Background with this Anchor in Mind. I will then work with the shapes to determine a good layout for the remainder of the report.

If your Report page is 16:9 (Default) You can create in the Default Power Point slide size

Start with a shape that fits your Anchor visual and its position

The Initial shape sets the margin and spacing for the report page
Adding like-shapes and proportions across the page to fill the canvas

I will then add color that goes with my branding/theme

I will now bring this background into my PBIX:

  • In Power Point, Select All of your Elements
  • Right Click > Save as Picture
  • In Power BI Desktop, with no elements selected, open the formatting options in the Visualization pane
  • Click + Add image button under “Page Background” and find your new image
  • Remove any transparency on the slider
  • Use drop down to Choose Image Fit: Fit

I can now position the visual in the box i created for it, and start building my story based on the other boxes I laid out for it.

Perfect Fit for my Anchor Visual

If you find a key element that you want to include does not into your predetermined sections, simply modify the PPT to suit and re-load!

I really want this line chart to take this much space up but my background is not set up for it. I will then shift shapes to suit line graph while keeping my margins and spacing intact

I can also bring in our Branding and Titles to limit how many elements are rendered within Power BI

Viewing the same visuals within the report without the background you will notice that not everything is positioned well, and the report is much harder to follow.

Even here not all items are perfectly spaced, but due to the framing being aligned it is not noticeable

We now have a finished report page and can take our background and adjust our shapes to fit the needs of our remaining report pages. By keeping the same background colors/themes and redistributing our shapes we can end up with a consistent look and feel across tabs

Let me know what you think Follow on Twitter for quick tips and tricks @ChrisHamill17

Check out the Background Gallery to download the PowerPoint for this example, and check back for new Backgrounds frequently!