Tooltips are hands down one of the most important elements to your report design. When asked what I think is important about reporting, I often say you must find “The Why”. Additional context is critical to making the right decisions with data. This is where tooltips step in to provide better context with visualizations.

Now tooltips are already part of report visualizations. In fact, any measures you place on the report canvas often show up as a tooltip. But I am going a step further with this article on how to create rich tooltips that drive a better experience.

The Basics of Tooltips

The concept of tooltips are basic – we add additional measures and information to a pop-up window when we hover over a data point. These data points are generally not complex, but can add additional information. In addition, it reduces clutter on the canvas by keeping the visualizations clean.

Let’s start with charts I created in the article where I show how to add conditional formatting to column charts. Instead of creating a complicated chart, we will add context with tooltips.

Chart Showing Monthly Revenue Versus Goal

From the conditional formatting used, we can see plainly see that we missed our goal in February and March. We are just a few days into May, so we still have time to reach our target. When I hover over a bar, I can see the specific current year revenue.

Hovering to Discover Current Year Revenue in March 2022

When I select the column chart visual, I have the opportunity to include additional measures with the tooltips section. I just simply drag my CY Goal and PY Revenue measures into the tooltips section to make them visible when I hover over the visual.

Adding Measures in Tooltips

This simple addition now provides additional context to our visualizations and makes it easier to understand. We can see that we were $200,000 short of our goal in March. While not ideal, we can easily see the gap. And while it is not the prettiest, it is functional.

Next Level Tooltips

Maybe you want to add a number of measures at once to your tooltip. Or maybe you want to add some conditional formatting. Or maybe you just want to add a little style to make them look nicer. Regardless of your reason, you can create your own custom tooltips in Power BI. It takes a little effort, but it really add value to any report you create.

One of the first steps in creating custom tooltips is considering what you want to display. This is critical because you want to ensure the tooltip doesn’t become an additional report page. You also might run into slowdowns if there are too many calculations on your tooltip. Remember that less is more when it comes to quality visualizations. Once we have our plan in place, it is time to build out our custom tooltip!

Step 1 – Preparing the Canvas

The first thing we need to do is create a new page in our report. Give the report a meaningful name and then hide it from regular view by right clicking and selecting hide page. This prevents the page from being viewed when not used as a tooltip.

Next, we need to do setup on the page. On the visualization pane, we need to open the formatting section. The first thing we need to do is expand the page information section and enable the allow use as a tooltip option.

We also want to adjust the canvas size. By default, our tooltip page size matches the default of the report. That will be way too large! I expand the canvas settings section and select the tooltip page type. While I have the option to create a custom size page, I try to use the pre-defined one to avoid overload.

Setting Up Your Custom Tooltip Canvas

With all of this in place, we are ready to move on to designing the tooltip.

Step 2 – Build Out the Tooltip

This part can be a little tricky. Because tooltips are dynamic, you will run into issues where your measures might be all over the place. To make your life easier, I recommend setting a page level filter to help design and validate your data.

Next, you want to build out your tooltip measures. I have selected only four values for the sake of simplicity. If you wanted to get adventurous, you could add a chart or an embedded image. However, I have something I want to call out and this simple view will assist.

Customizing a Tooltip

Once you are happy with your design, just simply remove the filters from your page!

Step 3 – Apply Your Tooltip

Now that we have our custom tooltip, we just need to apply it to the visual. Select your visual and go to the formatting pane. Then select the general tab and expand the tooltip section. From there, double check that report page is selected as the type and pick your custom tooltip. Is your page missing? If so, go back to step 1 and make sure your page settings are correct!

Applying a Custom Tooltip to a Visual

With that in place, you can hover to discover your context! If your tooltip shows blank values, go back to your custom tooltip page and make sure the page level filters are cleared.

Custom Tooltip on the Report Canvas

And just like that you have applied your own custom tooltip to a report! You can get as fancy as you wish with your tooltips. Just keep in mind that too much can be cluttered. Here is an example of a more complex solution I did with the Dunder Mifflin Sales Database:

Jim Halpert’s Flirting with Pam has Resulted a Drop in Sales Year over Year

You can see that I was able to add some context to a simple revenue report. I could show that even though Jim’s year over year sales are down, he is trending upward with his sales. I even added his picture to make it easier to identify him.

Regardless of what you do, make sure you keep it clean and simple to make your tooltips effective!

Added Bonus to Custom Tooltips

All of this effort provides an additional benefit that you might not notice right away. When it comes to report performance, your custom tooltips might help with the loading of your report canvas.

The best way to see the clear difference is with the underlying code. I turned on the performance analyzer and pulled the query for the original chart with the standard tooltip versus the custom tooltip.

//Standard Tooltip
  VAR __DS0Core = 
    SUMMARIZECOLUMNS(
      'LocalDateTable_112eb4ab-6627-45e0-a348-6394cb37748e'[Month],
      'LocalDateTable_112eb4ab-6627-45e0-a348-6394cb37748e'[MonthNo],
      __DS0FilterTable,
      __DS0FilterTable2,
      "CY_Revenue", 'SalesAggregated'[CY Revenue],
      "CY_Goal", IGNORE('SalesAggregated'[CY Goal]),
      "YoY_Revenue_Change", IGNORE('SalesAggregated'[YoY Revenue Change]),
      "v__to_Goal", IGNORE('SalesAggregated'[% to Goal]),
      "CY_Revenue_Color", IGNORE('SalesAggregated'[CY Revenue Color])
    )

//Custom Tooltip
  VAR __DS0Core = 
    SUMMARIZECOLUMNS(
      'LocalDateTable_112eb4ab-6627-45e0-a348-6394cb37748e'[Month],
      'LocalDateTable_112eb4ab-6627-45e0-a348-6394cb37748e'[MonthNo],
      __DS0FilterTable,
      __DS0FilterTable2,
      "CY_Revenue", 'SalesAggregated'[CY Revenue],
      "CY_Revenue_Color", IGNORE('SalesAggregated'[CY Revenue Color])
    )

The obvious difference between the two code blocks is the custom tooltip does not load all of the measures when the page is rendered. What does that mean for your report? Simple – you can speed up the loading of the report page by pushing some of your measures to a custom tooltip! This is great for complex measures that might provide context, but are not always needed when viewing the report.

Keep in mind that if your measures are slow, it will hurt the performance of your tooltip!

Anything Else I Should Know?

Probably the most important thing to know is that sometimes these tooltips can be frustrating. They take practice and sometimes a little extra effort. But the more you do it, the easier it will become. Just keep working at it and you will be a pro in no time!

Have you made a custom tooltip before? Have you built anything adventurous? Any favorite use cases? If so, tell me in the comments below!