Rules / Report Design

Tooltip and Drillthrough pages should be hidden

warning HIDE_TOOLTIP_DRILLTROUGH_PAGES · ported · report layer · scope: Page

What it checks

Tooltip pages and drillthrough pages that are not hidden.

Microsoft's page schema gives two places for marking a page as a tooltip or drillthrough page: the page's own type in page.json, and the type inside its pageBinding. The rule reads a tooltip page from either one set to Tooltip, and a drillthrough page from its pageBinding alone, set to Drillthrough, as PBI Inspector does.

Each finding names the page, as Page "Product tooltip", and its detail says which kind it is, as tooltip page is visible to readers. Its line in page.json is the pageBinding when that marks the page, and otherwise, for a tooltip page marked by its own type alone, that type.

Example

Fires the rule in page.json
{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/page/2.1.0/schema.json",
  "name": "5b2e7c1d9a4f60e83c17",
  "displayName": "Product tooltip",
  "displayOption": "ActualSize",
  "height": 240,
  "width": 320,
  "pageBinding": {
    "name": "8f3d2a61-5c4e-4b7a-9e0d-1f6b2c8a4d93",
    "type": "Tooltip"
  }
}
After the fix in page.json
{
  "$schema": "https://developer.microsoft.com/json-schemas/fabric/item/report/definition/page/2.1.0/schema.json",
  "name": "5b2e7c1d9a4f60e83c17",
  "displayName": "Product tooltip",
  "displayOption": "ActualSize",
  "height": 240,
  "width": 320,
  "visibility": "HiddenInViewMode",
  "pageBinding": {
    "name": "8f3d2a61-5c4e-4b7a-9e0d-1f6b2c8a4d93",
    "type": "Tooltip"
  }
}

Why it matters

A tooltip page is built to appear small, over a data point, already filtered to whatever the pointer rests on, and a drillthrough page is built to open filtered to the item a reader drilled from. Left visible, each is also a tab a reader can open on its own, with no data point or item behind it. A tooltip page's visuals then show totals for everything, and a drillthrough page's show whatever the page was last filtered to, both under a heading that promises one product or one customer, with nothing on the page to tell the reader so. The extra tabs also crowd the page list with pages that make sense only in context.

How to fix it

In Power BI Desktop, right-click the page's tab and choose Hide Page. A hidden tooltip page still appears over the visuals it serves, and a hidden drillthrough page is still reached with Drill through on a data point; readers just cannot open either one directly. In page.json, add "visibility": "HiddenInViewMode".

When to ignore it

A drillthrough page that also works as a page in its own right, with a slicer of its own for choosing the item, can stay visible if it gives readers a way to clear the drillthrough filter it was last opened with, such as a button tied to a bookmark that removes the filters. Microsoft's drillthrough guidance describes that arrangement. A tooltip page has no such case, because it is never meant to be read on its own.

To ignore this rule on one page, add { "name": "pbiplint.ignore", "value": "HIDE_TOOLTIP_DRILLTROUGH_PAGES" } to the annotations array of its page.json. Power BI Desktop keeps the annotation. To turn the rule off for a whole project, set "HIDE_TOOLTIP_DRILLTROUGH_PAGES": "off" under rules in pbiplint.config.json.

Quirks

Ported from PBI Inspector's base rules by Nat Van Gulck.

Check a report for this Improve this page