Dashboard extension

Minimap

A density map for the corner of a dashboard that is also its fastest geo filter: click a state, drag a box, or draw a radius

This is the extension itself, running outside Tableau: click it, hover it. It fits right inside your workbook.

Data

Source sheet, latitude, longitude, state, key.

Heat

Density measure, spread.

Appearance

Title, light/dark theme, accent.

Freein Tableau Desktop and Public
$199/yrCloud & Server, from
Full reference setup, every setting, how it works

A small density map for the corner of a dashboard that is also its fastest geo filter. No geocoding build, no radius parameters, no map sheet with a dozen actions: drop it on the dashboard and catch rows with a gesture.

Gesture What it filters
Hover a state outlines it, tooltip with its rows (or measure total)
Click a state State on every other sheet. Shift-click adds states; click again to clear
Drag a box Key to the locations inside the box. Shift-drag adds to the net
Alt-drag a radius from the press point, read out live in miles (great-circle), same Key filter
Scroll / double-click zoom about the cursor / reset. Right-drag or Space-drag pans
+50 / +100 / +500 grows the map's zone that much (⤢ = as big as the dashboard allows). To shrink back: double-click the header bar, click the lit ⤡ restore button, or click the lit +N again
– minimizes to the header bar
Esc or the chip clears the map filter

The density dropdown in the header picks what the heat counts: rows, or any measure on the source sheet. In authoring mode the choice is saved with the workbook; viewers can switch it for their session.

Setup

  1. Make a small worksheet with State, Latitude, Longitude and a Key (facility, address, ZIP: whatever one point is) on Detail, plus any measures you want to heat by. Put it on the dashboard (it can sit in a collapsed container). Minimap reads it and never filters it, so the map always shows the whole field of play.
  2. Add Minimap to the dashboard, ideally floating in a bottom corner: the boost badges resize a floating zone in place, anchored to the corner it sits nearest. A tiled zone can't be resized by an extension, so there the badges magnify the map instead (1.5×, 2×, 6×).
  3. Fields are auto-detected (latitude/longitude by name, State, the first name/id/facility/address/ZIP-like dimension as Key). Override any of them in ⚙ settings, and untick sheets Minimap should leave alone.

Fallbacks: no Key field → a box or radius filters a latitude/longitude range instead. No State field → states are derived from the coordinates, and a state click filters the Key. No coordinates → each row stands in at its state's centroid, so a state-only sheet still heats and state clicks still filter.

Settings

  • Data: source sheet, latitude, longitude, state, key; sheets to filter.
  • Heat: density measure, spread (kernel radius), heavy hitters (cap weights at p99 / p95 / Q3 + 1.5×IQR so one giant location can't wash out the map; the dialog shows how many locations the cap touches).
  • Appearance: title, light/dark theme, accent.

How it works

minimap.js reads the source sheet's summary data a page at a time (up to 500k rows), projects every point once per pane size with d3.geoAlbersUsa, and bins them into a screen-space grid that a 3-pass box blur turns into a smooth kernel density, normalized on the 99.5th percentile of lit cells and clipped to the states. Zooming re-bins at screen resolution, so detail sharpens as you go in; past 3× (or under ~400 visible points) individual locations appear as dots. Filters go out with applyFilterAsync (Replace) to every dashboard sheet except the source; sheets that lack the field are skipped.

Geo stack is vendored in vendor/ (d3 v7, topojson-client, US states atlas). No data-access permission is requested.

Eric SummersUpdated 2026-10-13markdown