Historical Context & Motivation
The concept of a tooltip — a small informational overlay that appears when a user hovers over an interface element — has been a cornerstone of graphical user interfaces since the early days of desktop computing. In the context of data visualization, tooltips serve as a mechanism for progressive disclosure, a design pattern in which details are revealed on demand rather than cluttering the primary view. Microsoft Power BI adopted this principle early on, initially offering only simple text-based tooltips that displayed a data point's category and value. As the platform matured, report authors increasingly demanded richer hover experiences — the ability to embed entire charts, KPIs, and images inside a tooltip. Microsoft responded by introducing report tooltips (also called page tooltips), a feature that lets you designate an entire report page as a tooltip surface, unlocking multi-visual hover panels that respond dynamically to the data context of the hovered element.
The central question that report tooltips address is straightforward yet significant: how can a report surface deep contextual detail without sacrificing visual simplicity? Default tooltips answer this question only superficially — they show a few numbers. Report tooltips answer it comprehensively by treating the hover interaction as a window into an entire supplementary page of analysis, dynamically filtered to the data point under the cursor.
Core Principles & Definitions
Before building a report tooltip, it is essential to understand the architectural concepts that distinguish page tooltips from their simpler counterparts. At the implementation level, a report tooltip is a hidden report page whose page size is intentionally small (typically 320 × 240 pixels by default) and whose page information property is configured so that Power BI treats it as a tooltip rather than a standard navigation page. The following foundational ideas govern how this mechanism works.
Tooltip Page Designation
Filter Context Propagation
Reduced Page Dimensions
Visual-Level Assignment
Progressive Disclosure Pattern
Visual Explanation — How Report Tooltips Work
The visual above captures the key architectural relationship between the main report page and the tooltip page. Notice that the tooltip page is a full Power BI page in its own right — it can contain any combination of visuals, text boxes, shapes, and images. The critical mechanism is the filter context propagation: when the user's cursor enters a data point, Power BI constructs a filter tuple (e.g., Category = 'C', Quarter = 'Q3 2024') and applies it to the tooltip page exactly as if the user had applied those filters manually. This means every DAX measure, every slicer interaction, and every cross-filtering relationship on the tooltip page responds to the hovered data point's context. From a software engineering perspective, this is analogous to dependency injection — the tooltip page's behavior is parameterized by the filter context it receives at render time.
How It Works — Configuration Deep Dive
Building a report tooltip involves a precise sequence of configuration steps across two surfaces: the tooltip page itself and the consuming visual that triggers it. Understanding these steps at a granular level is critical because a misconfigured property — an oversized page dimension, a missing toggle — will silently prevent the tooltip from appearing. Let us walk through the mechanism in detail.
Step A — Create and Size the Tooltip Page
Create a new page in your report (right-click the page tab bar and select New page). Navigate to Format > Canvas settings (in the Visualizations pane) and set the Type to Tooltip. Power BI automatically adjusts the page dimensions to 320 × 240 pixels, though you can override these values. The constrained canvas forces you to prioritize the most valuable supplementary information — think of it as designing a responsive micro-frontend with a fixed viewport.
Step B — Enable the Tooltip Toggle
In the same Format pane, expand Page information and toggle Allow use as tooltip to On. This is the single boolean flag that registers the page in Power BI's internal tooltip registry. Without it, the page exists as a normal (albeit small) report page and will never appear on hover. It is helpful to give the page a descriptive name — for instance, Tooltip_ProductDetail — so that you can easily identify it when assigning it to visuals later.
Step C — Design the Tooltip Content
Add visuals, text boxes, shapes, and images to the tooltip page just as you would on a regular page. Common patterns include a sparkline for trend context, a card visual for a headline KPI, and a conditional image (e.g., a product photo loaded via a URL column). Because the canvas is small, avoid visuals with heavy axis labels or legends — they consume disproportionate space. Consider disabling visual headers on the tooltip page's visuals to maximize the data-to-ink ratio.
Step D — Assign the Tooltip to Visuals
Return to your main report page, select the visual you want to attach the tooltip to, and open its Format > Tooltip settings. Set the Type dropdown to Report page and then select the specific tooltip page from the Page dropdown. If you leave the page set to Auto, Power BI will automatically match tooltip pages based on which fields are present in both the visual and the tooltip page's filter context — a form of implicit binding that mirrors convention-over-configuration in frameworks like Spring or Ruby on Rails.
Auto, Power BI matches tooltip pages by examining whether the tooltip page's visuals contain fields that overlap with the hovered data point's fields. This is convenient for reports with many visuals, but it can produce unexpected matches if multiple tooltip pages share common fields. For production reports, explicit assignment is recommended to eliminate ambiguity — much like explicit dependency injection is preferred over auto-wiring in large codebases.Design Patterns & Classification
Report tooltips are versatile enough to serve multiple analytical purposes. In practice, report authors converge on a few recurring design patterns, each optimized for a different type of supplementary insight. Understanding these patterns will help you select the right tooltip architecture for your use case, much like understanding software design patterns (Observer, Strategy, Factory) helps you choose the right abstraction for a given problem.
| Pattern | Best For | Typical Visuals on Tooltip Page | Recommended Dimensions |
|---|---|---|---|
| Trend | Time-series analysis; showing historical performance for a hovered category | Sparkline, KPI card, small area chart | 320 × 240 (default) |
| Breakdown | Compositional drilldown; showing sub-categories within a hovered aggregate | Stacked bar, treemap, 100% bar | 320 × 280 |
| Detail | Entity-level info; product details, employee profiles, asset metadata | Image, multi-row card, text box | 400 × 300 |
| Comparison | Variance analysis; benchmarking actuals against targets or prior periods | Bullet chart, gauge, conditional card | 360 × 260 |
| Geographic | Location context; regional KPIs when hovering over map data points | Small map, card, bar chart for regional breakdown | 420 × 320 |
Worked Example — Building a Trend Tooltip
Let us walk through a concrete example. Suppose you have a sales report with a clustered bar chart showing total revenue by product category. You want a hover interaction that reveals a 12-month revenue trend for whichever category the user hovers over, along with year-over-year growth.
New page. Rename the page to Tooltip_RevenueTrend by double-clicking the tab. A descriptive name helps you identify the tooltip page quickly when you have dozens of pages.Tooltip_RevenueTrendDefault to Tooltip. The canvas immediately shrinks to 320 × 240 pixels.Allow use as tooltip to On. This registers the page as a tooltip surface. The page tab icon may change to indicate tooltip status.Date[Month] to the X-axis and Sales[Revenue] to the Y-axis. Do not add Product[Category] to the line chart — it will be supplied automatically by the filter context when the user hovers over a specific category bar. Disable the title and legend to save space. Size the chart to roughly 300 × 140 px.YoY Growth % = DIVIDE([Revenue] - [Revenue PY], [Revenue PY]). Format it with conditional color (green for positive, red for negative). Size it to roughly 300 × 60 px.Report page and select Tooltip_RevenueTrend from the Page dropdown. Now hover over any bar — the tooltip page appears, filtered to that bar's category.Strengths & Limitations
Report tooltips are a powerful design tool, but like any abstraction, they introduce trade-offs. Understanding these trade-offs is critical for making informed design decisions — you would not use a microservices architecture for a simple CRUD app, and similarly you should not use page tooltips when a simple default tooltip suffices.
| Strengths | Limitations |
|---|---|
| Rich multi-visual hover experience — charts, images, KPIs in a single tooltip panel | Tooltip pages add to overall report file size and may increase load times, especially with complex DAX measures |
| Dynamic filter context propagation — tooltip content automatically reflects the hovered data point | Limited interactivity — users cannot click, scroll, or drill down within a tooltip; it disappears when the cursor moves away |
| Reduces dashboard clutter by moving supplementary detail off the main canvas via progressive disclosure | Small canvas constraints (320 × 240 default) make it difficult to present complex visualizations with legends and axes |
| Reusable — a single tooltip page can be assigned to multiple visuals across multiple pages | Discoverability issue — users may not know they can hover for additional detail; requires clear UX cues (e.g., info icon, instructional text) |
| Full DAX support — all measures, calculated columns, and conditional formatting work on tooltip pages | Not supported on all visual types — some custom visuals and the paginated report visual do not support report tooltips |
Connection to Advanced Tooltip Techniques
The introductory report tooltip concepts covered in this lesson form the foundation for several advanced techniques that Power BI authors use in production environments. As you progress, you will encounter scenarios that demand more sophisticated tooltip architectures, including conditional tooltip switching, tooltip pages driven by complex DAX, and integration with Power BI Embedded for programmatic tooltip control.
| Introductory Concept | Advanced Extension | When You Need It |
|---|---|---|
| Single static tooltip page | Multiple tooltip pages — different tooltip pages for different data contexts (e.g., one for products, another for regions) | Reports with heterogeneous data entities where a single tooltip layout cannot serve all contexts |
| Default filter context propagation | Custom DAX tooltips — using SELECTEDVALUE, HASONEVALUE, and SWITCH to conditionally change what the tooltip page displays | When the tooltip needs to show different KPIs depending on the category or hierarchy level being hovered |
| Manual visual-level assignment | Auto-detection via field matching — letting Power BI automatically match tooltips based on shared fields | Large reports with many visuals where manual assignment is tedious; requires careful field architecture to avoid mis-matches |
| Static tooltip page dimensions | Custom-sized tooltip pages — adjusting width and height beyond the default for complex layouts | Detail tooltips that include images, multi-column layouts, or small tables requiring more real estate |
| Desktop-only tooltip configuration | Power BI Embedded API tooltip control — programmatically triggering and customizing tooltips via the JavaScript SDK | When embedding Power BI visuals in custom web applications where hover behavior must integrate with the host application's UX |
As with any layered abstraction — think of it as moving from basic HTTP requests to building a REST API framework — the introductory concepts you have learned here are prerequisites for every advanced technique. Mastering the page creation workflow, filter context propagation, and visual-level assignment gives you the mental model needed to reason about more complex tooltip architectures. In subsequent lessons, we will explore conditional tooltip switching using DAX and multi-tooltip report designs.
Practice Problems
Tooltip_ProductDetail with a card visual showing Product[Name] and an image visual bound to Product[ImageURL]. You assign this tooltip to a bar chart that shows revenue by Product[Category] (not Product[Name]). When you hover over a category bar, the tooltip shows "(Blank)" for the product name and no image. Diagnose the problem and propose a solution.Lesson Summary
Report tooltips (also known as page tooltips) allow you to designate a hidden, small-format report page as a hover overlay for any visual. When a user hovers over a data point, Power BI propagates the filter context — category, date, and measure values — to the tooltip page, dynamically filtering all of its visuals. This implements the progressive disclosure design pattern: the main report stays clean, while detailed context (trend lines, breakdowns, images, KPIs) appears only on demand.
Configuration requires five steps: create a new page, set its type to Tooltip (320 × 240 default), enable Allow use as tooltip in Page Information, add visuals to the small canvas, and assign the tooltip page to specific visuals via Format > Tooltip > Report page. Common design patterns include Trend, Breakdown, Detail, Comparison, and Geographic tooltips. Key limitations include the inability to interact with tooltip content, potential performance overhead from complex DAX on tooltip pages, and reduced discoverability on touch-only devices where hover is unavailable.