Power BI Course
Custom Tooltips
A default Power BI tooltip shows the field names and values of whatever you hover over — useful, but limited. A custom tooltip replaces that default with an entire report page containing charts, measures, and formatted text that appear only on hover. This lets you pack executive-level detail into a compact visual without cluttering the canvas — a bar chart can show monthly revenue, and hovering any bar reveals a mini-dashboard with YoY comparison, margin breakdown, and top products for that region.
How Custom Tooltips Work
Custom tooltips are built on a dedicated report page that is marked as a tooltip page. When a user hovers over a data point in a visual, Power BI temporarily renders that tooltip page — filtered to the exact context of the hovered point — in a floating popup. The tooltip page inherits the filter context of the hovered data point automatically.
Revenue by Region
Region = "North"Region Detail
Region = "North" in the filter context. SUM([Revenue]) returns North revenue only. SAMEPERIODLASTYEAR returns North prior year only.Rich popup
Step 1 — Create the Tooltip Page
// Step 1 — Add a new page and mark it as a Tooltip page
// Right-click the page tab → Add page
// Name it descriptively: "Tooltip - Region Detail"
// Mark as tooltip page:
// Format pane (with nothing selected, or use the Page info panel)
// → Page information → Allow use as tooltip → ON
// → Canvas settings → Type → Tooltip
// This automatically sets the page to a fixed small canvas size
// Recommended tooltip page canvas size:
// Width: 320px (fits inside most visuals without overflow)
// Height: 240px (compact but enough for 3–4 KPIs + one chart)
// Set canvas background:
// Format pane → Canvas background → Colour → #0f172a or #ffffff
// Dark backgrounds work well for tooltip pages — they stand out
// clearly from the main report background
// Set page size manually if you need a different size:
// Format pane → Canvas settings → Custom
// Width: 400, Height: 280 — for a larger tooltip with a chart
Step 2 — Design the Tooltip Page Content
Build the tooltip page like any other report page — drag fields and measures onto visuals, format them, and arrange them within the small canvas. Every visual on the tooltip page will automatically receive the filter context of the hovered data point. Keep the content focused: three to five KPIs or one KPI row plus one small chart is usually enough.
Step 3 — Connect the Tooltip to a Visual
// Step 3 — Assign the tooltip page to a visual
// Option A — Automatic (report page tooltip)
// Power BI automatically offers your tooltip pages as options
// Select the visual → Format pane → Visual tab → Tooltips
// → Type → Report page
// → Page → select "Tooltip - Region Detail"
// All data points in that visual now use the custom tooltip
// Option B — Field-based (show a specific field value in tooltip)
// Format pane → Visual tab → Tooltips → Type → Default
// Drag extra measures to the visual's Tooltip field well
// The tooltip shows those measures alongside the standard values
// Use this for quick additions without building a full tooltip page
// Tooltip field well example — adding YoY % to a bar chart tooltip:
// Drag [Revenue YoY %] to the Tooltips well in the Values section
// Now hovering any bar shows: Region, Revenue, Revenue YoY %
// Which approach to use:
// Use Report Page tooltip when:
// - You need charts or multiple formatted visuals in the tooltip
// - The tooltip needs consistent branding and layout
// - You need more than 3-4 values
// Use Field tooltip when:
// - You just need 1-2 extra measures shown
// - Quick addition with no layout requirement
// - The measure format string is sufficient for display
The Tooltip Context Header
The tooltip page does not automatically show the user which data point triggered it. Always add a dynamic title or header measure that shows the current filter context — so the user knows they are seeing North data, not a static page.
// Dynamic tooltip header — shows the hovered context
Tooltip Header =
VAR Region = SELECTEDVALUE(Orders[Region], "All Regions")
VAR Year = SELECTEDVALUE(Calendar[Year], "All Years")
RETURN
Region & " · " & Year
// Use this measure as the title of a card or text box on the tooltip page
// When hovering North bar in a chart filtered to 2024:
// → "North · 2024"
// When hovering Total in a year-only chart:
// → "All Regions · 2024"
// Dynamic subtitle — adds extra context
Tooltip Subtitle =
VAR OrderCount = COUNTROWS(Orders)
VAR LatePct =
DIVIDE(
CALCULATE(COUNTROWS(Orders), Orders[Status] = "Late"),
COUNTROWS(Orders)
)
RETURN
TEXT(OrderCount, "#,##0") & " orders · "
& FORMAT(LatePct, "0%") & " late"
// → "142 orders · 8% late"
| Hovered data point | Tooltip Header | Tooltip Subtitle |
|---|---|---|
| North bar, no year filter | North · All Years | 286 orders · 6% late |
| North bar, slicer = 2024 | North · 2024 | 142 orders · 8% late |
| Total bar (no region) | All Regions · 2024 | 342 orders · 7% late |
| West bar, slicer = 2023 | West · 2023 | 98 orders · 4% late |
Tooltip Page Design Rules
| Rule | Why it matters |
|---|---|
| Always include a context header | Without a dynamic title, the user cannot tell which data point the tooltip is showing. A "North · 2024" header at the top removes all ambiguity. |
| Keep it to 3–5 visuals maximum | A tooltip appears and disappears quickly. If it takes more than 2 seconds to scan, the user will not hover long enough to use it. KPI cards render fastest. Avoid complex iterators on the tooltip page. |
| Disable the tooltip page from navigation | Mark it as a tooltip page (Allow use as tooltip = ON) and it will not appear in the page navigation tabs visible to end users. If it accidentally appears in navigation, check that the setting is enabled. |
| Match the visual's context field | If the tooltip is attached to a bar chart with Region on the axis, all measures on the tooltip page should use columns from the same relationship path. A tooltip on a product scatter chart that shows customer metrics will return wrong results if the relationship chain does not connect correctly. |
| Test with multiple data points | Hover the highest-value bar, the lowest-value bar, the total row, and a bar with partial-year data. Each should show consistent, correctly filtered data. Blank values for some data points often indicate a broken relationship or a missing ISBLANK guard in a measure. |
One Tooltip Page for Multiple Visuals
One tooltip page can be reused across multiple visuals on multiple report pages. Any visual that has the same dimension on its axis (e.g. Region) can use the same "Region Detail" tooltip. You do not need a separate tooltip page for each visual — build one well-designed tooltip per dimension and assign it everywhere that dimension appears.
// Assigning the same tooltip page to multiple visuals
// Visual 1: Bar chart — Revenue by Region
// Format pane → Tooltips → Type: Report page
// → Page: "Tooltip - Region Detail"
// Visual 2: Map — Revenue by Region (filled map)
// Format pane → Tooltips → Type: Report page
// → Page: "Tooltip - Region Detail"
// Visual 3: Table — Region, Revenue, Orders (matrix)
// Format pane → Tooltips → Type: Report page
// → Page: "Tooltip - Region Detail"
// All three visuals now show the same rich tooltip
// when hovering any region — one page, three visuals
// Tooltip page scoping — what context is passed:
// Bar chart hover on North bar → Region = "North"
// Map hover on North territory → Region = "North"
// Matrix hover on North row → Region = "North"
// All three pass the same context — tooltip renders identically
Teacher's Note: Custom tooltips are one of the highest-impact, lowest-effort improvements you can make to a finished report. They require no new pages in the main navigation, no extra canvas space, and no additional measures — all the measures you have already built will work on the tooltip page using the hover context. The key habit is to build the tooltip page last, after all other measures are working correctly, and test it by hovering five or six different data points to confirm it filters correctly each time. A tooltip that shows blank for some data points is almost always caused by a relationship not propagating the filter correctly — check Model View and confirm the relationship direction before concluding the measure is wrong.
Practice
Practice 1 of 3
To mark a report page as a tooltip page so it appears in the Tooltips dropdown and is hidden from end-user page navigation, you enable ___ as tooltip in the page's Format pane under Page information.
Practice 2 of 3
When a user hovers over the North bar in a bar chart and the tooltip page renders, every measure on that page evaluates with ___ = "North" automatically in the filter context — no additional configuration is needed.
Practice 3 of 3
Rather than building a separate tooltip page for every visual in a report, you can reuse one tooltip page across multiple visuals as long as they all share the same ___ dimension on their axis or row context.
Lesson Quiz
Quiz 1 of 3
You build a custom tooltip page showing Revenue, YoY %, and Order Count. When hovering any bar on a Region bar chart, the Revenue card shows the correct region revenue but the YoY % card always shows the grand total YoY %, not the region-specific one. What is the most likely cause?
Quiz 2 of 3
A tooltip page that was correctly hidden from navigation has started appearing as a page tab visible to end users. What is the most likely cause?
Quiz 3 of 3
You want to show a sparkline trend chart inside the tooltip. Every time you hover a bar, the sparkline shows all months of all years rather than just the months for the hovered region. The tooltip header correctly shows "North · 2024". What is wrong?
Next up — Lesson 45 covers Bookmarks and Page Navigation, including how to use bookmarks for state capture, toggle buttons, drill-through navigation, and building a guided storytelling flow through a multi-page report.