Sitemap
Power BI

Welcome to a community-driven publication sharing practical Power BI tutorials, real-world use cases, and expert tips and tricks to help you master data visualization, DAX, and Power Query. — Learn together. Grow together.

Power BI Tooltips: Add Context Without Cluttering Your Dashboard

7 min readJul 24, 2026

--

Tooltip is a powerful feature in Power BI, yet it is often underused or misused. Instead of providing meaningful context, many tooltips simply repeat information that’s already visible in the report.

Imagine you’re presenting a sales dashboard comparing the performance of different shopping malls, when someone points at one of the bars and asks: “Is this better than last year?”

The chart shows total sales, but it doesn’t tell the whole story. You need last year’s performance, growth percentage, and the categories driving that revenue.

Instead of opening another report page, we can answer all of those questions with a well-designed Power BI tooltip.

In this article, we’ll build a custom tooltip that transforms a simple bar chart into a compact performance dashboard, showing Year-to-Date sales, Year-over-Year growth, and the top-performing categories in just a few seconds.

Final Outcome:

Press enter or click to view image in full size

A Sales Dashboard Example

For this example I’m using the Shopping Mall Sales dataset from Kaggle.

After cleaning the data, I organized it into a simple Star Schema consisting of:

  • sales (fact table)
  • Date Table
  • shopping_mall
  • category
  • gender
  • payment_method

If you’re unfamiliar with Star Schema modeling, I’ve linked another article at the end of this post.

This is my final model:

Press enter or click to view image in full size

📌 Date Table:

DateTable = 
ADDCOLUMNS (
CALENDAR (DATE(2021,1,1), DATE(2023,12,31)),
"Year", YEAR([Date]),
"Month", MONTH([Date]),
"Month Name", FORMAT([Date], "MMMM"),
"Quarter", "Q" & FORMAT([Date], "Q")
)

Building the Main Visual

First things first, let’s create the bar chart with total sales of each shopping mall for year 2022:

Press enter or click to view image in full size
  1. Choose the stacked column chart visual.
  2. X-axis: shopping_mall (from shopping_mall table) and Year (from Date Table)
  3. Filter year as 2022

The goal of our tooltip is to show the growth or loss from last year and what people bought most from each shopping mall compared to last year.

📝 Note: In this example, the report is filtered to the full year of 2022, so the YTD value matches the annual total. I still use a YTD measure because it’s a best practice for time intelligence and will continue to work correctly if the report is later filtered to a specific month or date range.

Building the Tooltip

The goal of this tooltip is to provide users with a quick summary of each shopping mall’s performance when hovering over our main bar chart.

The tooltip will display:

  • Year-to-Date (YTD) Sales
  • Year-over-Year (YoY) Growth
  • Top 3 Best-Selling Categories

This allows you to compare this year’s performance with last year’s while also identifying the categories driving sales.

Press enter or click to view image in full size

Step 1 : Create the Tooltip Page

Let’s create a dedicated report page first that will be used as the tooltip.

Press enter or click to view image in full size

📌 Create a new page:

  1. Click the + icon to create a new page.
  2. Rename the page to Tooltip.

📌 Enable Tooltip:

  1. Open the Format pane.
  2. Navigate to: Page Information → Allow use as tooltip → Turn the option On.

This will convert your page into a tooltip page.

📝 Note: You can adjust the size from canvas setting if you do not like the current one.

Step 2 : Create the Selected Mall Card

Before showing any metrics, users should immediately know which shopping mall they’re looking at.

So, the first element that we are going to display in the tooltip is the shopping mall that we are hover over.

Press enter or click to view image in full size

📌 Create the measure:

Selected Mall = 
SELECTEDVALUE(shopping_mall[shopping_mall])

📌 Add the Card visual:

  1. Insert a Card visual.

2. Drag Selected Mall into the Value field.

3. Resize and position the card at the top of the tooltip.

Step 3 : Create the Sales YTD Card (Show the Current Performance)

The first KPI should answer the simplest question:

“How much has this shopping mall sold this year?”

Press enter or click to view image in full size

📌 Create the measure:

sales YTD = TOTALYTD(SUM('sales'[sales]), 'DateTable'[Date])

📌 Add the Card visual:

  1. Insert another Card visual.

2. Add Sales YTD to the Value field.

3. Format the card as desired.

Step 4 : Create the YoY Growth Card

Just knowing total sales isn’t enough. We also want to know whether performance improved or declined compared to last year.

Get Rita Angelou’s stories in your inbox

Join Medium for free to get updates from this writer.

Therefore, a nice way to compare current Year-to-Date sales with the previous year’s performance is to create a YoY Growth KPI.

Press enter or click to view image in full size

📌 Create the Previous Year Sales measure:

sales LY = CALCULATE (SUM('sales'[sales]), SAMEPERIODLASTYEAR('DateTable'[Date]))

📌 Create the YoY Growth measure:

sales YoY KPI = DIVIDE ([sales YTD] - [sales LY], [sales LY], 0)

📌 Add the KPI Card

  1. Insert a Card visual.
  2. Add Sales YoY KPI to the Value field.
  3. Format the card as desired.

📌 Apply Dynamic Colors

To make positive growth easy to identify, we are going to create a measure that returns a color based on the YoY result.

📌 Create the color measure:

sales colour KPI = IF([sales YoY KPI]>0, "Green", "Red")

📌 Apply conditional formatting:

Press enter or click to view image in full size
  1. Select the YoY Growth Card.
  2. Navigate to: Format Visual → Callout Value → Color → Fx → Format style: Field value and set Based on field: sales colour KPI

Now, as you can check, positive values will appear in green, while negative values will appear in red.

📌 Add a Growth Indicator:

We can further enhance the KPI by displaying an arrow indicating whether sales increased or decreased.

Press enter or click to view image in full size

📌 Create the indicator measure:

sales indicator PP KPI = var positive_icon = "▲" var negative_icon="▼" var result = IF([sales YoY KPI]>0, positive_icon, negative_icon) return result

📌 Add the indicator:

  1. Insert another Card visual.
  2. Add Sales Indicator KPI to the Value field.
  3. Resize and position the card.
  4. Apply the same conditional formatting used for the YoY Growth card:

Format Visual → Callout Value → Color → Fx → Format style: Field value and set Based on field: sales colour KPI

Step 5 : Create the Top 3 Categories Matrix

Finally, let’s answer the natural follow-up question:

What’s driving those sales?

To answer that question we should display the three product categories that generate the highest Year-to-Date sales for the selected shopping mall.

📌 Create the Category Rank measure:

Category Rank = 
RANKX(
ALL(category[category]),
[sales YTD],
,
DESC,
DENSE
)

This measure ranks categories based on their YTD sales.

📌 Create the Top 3 filter measure:

Show Top 3 Categories = 
IF(
[Category Rank] <= 3,
1
)

This measure returns 1 for the top three ranked categories.

📌 Create the Top 3 sales by category:

Press enter or click to view image in full size
  1. Insert Matrix visual.
  2. Add category to the Rows field.
  3. Add sales YTD, Sales indicator PP KPI and sales YoY KPI to the Values field.
  4. Drag Show Top 3 Categories to the Filters area and format to show items when the value is 1
  5. Resize and position the matrix.

Why This Still Works as a Tooltip?

A common mistake many dashboard developers make is trying to fit an entire dashboard into a tooltip.

A good tooltip should answer one business question, not ten.

In our case, that question is:

“How is this shopping mall performing?”

Within a few seconds, users can answer:

✔️ How much has this mall sold?

✔️ Is it growing or declining?

✔️ Which categories generate the most revenue?

✔️ Which categories improved compared to last year?

Most importantly, users don’t need to leave the report or navigate to another page to find this information. They stay focused on the visual they’re exploring while getting the additional context they need.

Final Thoughts

Keep in mind that a tooltip shouldn’t try to replace a report page.

Its purpose is to provide just enough context to answer the user’s next question without interrupting their workflow.

By combining a few KPIs, simple conditional formatting, and a compact matrix, we have transformed a standard Power BI tooltip into a miniature performance dashboard that users can understand in just a few seconds.

🌟 If you enjoyed this article don’t forget to 👏 clap and follow for more related content!

Related articles:

Power BI Masterclass Article Classification

Level: Intermediate

Category: Data Visualization, DAX

Tags: Tutorial, Data Visualization, DAX

--

--

Rita Angelou
Rita Angelou

Written by Rita Angelou

I am writing about Data Analysis, Python, SQL, Dashboards, Machine Learning and related topics

Power BI
Power BI

Published in Power BI

Welcome to a community-driven publication sharing practical Power BI tutorials, real-world use cases, and expert tips and tricks to help you master data visualization, DAX, and Power Query. — Learn together. Grow together.