A full-featured data table mark. Drop any dimensions and measures onto the Columns tile on the Marks card and every field becomes a table column, bound to the worksheet so it travels with it.
Shared viz-extension techniques (reading encodings, live updates, the configure gear, selection → dashboard actions) live globally in
reference/viz-extensions.md. This file covers only what's specific to Hypertable.A data table is the one viz where internal vertical scrolling is correct, the pane never scrolls (toolbar, header, and totals footer stay fixed); only the row area scrolls, and it's row-virtualized so tens of thousands of rows stay smooth.
#Everything it does
- Multi-column sort, click a header to cycle desc → asc → off; Shift-click to add columns to the sort (priority numbers show the order).
- Search, instant substring filter across visible columns, with a live "N of M rows" count.
- Columns, drag to reorder, drag the right edge to resize, and a Columns popover to show/hide any field (and reset order).
- Per-type formatting, numbers right-aligned with tabular figures, abbreviation + decimals (configurable); dates and text left-aligned; long text truncates with a hover tooltip.
- In-cell visuals, data bars and/or heat background on measure cells (share of the column's range), configurable.
- Totals footer, sticky bottom row with sum / avg / min / max / count per measure (recomputes over the filtered view).
- Frozen first column (optional), zebra striping, gridlines, and compact / comfortable density.
- Row selection → dashboard actions, click to select (Ctrl/Cmd to toggle, Shift for a range); the matching worksheet marks are selected so filter/highlight actions fire.
- CSV export of the current (filtered + sorted) view.
- Safety cap at 50,000 rows with an on-screen note (never silently truncates).
#Encodings (Marks card)
| Tile | Required | Accepts |
|---|---|---|
| Columns | yes | any dimensions and measures (up to 25), each becomes a column; field types drive alignment, bars/heat, and totals |
For row selection to filter the dashboard, include at least one dimension (it identifies the marks). A measures-only table still renders; it just can't push a selection.
#Configure (the ⚙ gear, top-right)
Density, measure-cell style (plain / bars / heat / both), striping, gridlines, freeze first column, search box, decimals, abbreviate large numbers, totals row + aggregation, and the dashboard-interaction toggle. All persisted in the workbook.
#Run it locally
From the repo root: python scripts/kitserve.py (serves every extension on 8765).
It answers on both IPv4 and IPv6 and resolves lib/ to _shared/lib; a plain
python -m http.server does neither, which is what makes a local extension load
as a blank or errored zone.
In Tableau, on a worksheet’s Marks card → mark-type dropdown → Add Extension… → Access Local Extensions →
hypertable/manifest.local.trex. Drag a few fields onto Columns (try Sample - Superstore:
Order ID, Customer Name, Category, Sales, Profit, Order Date).
Reload after .html/.js/.css edits (right-click → Reload). For any .trex change,
remove and re-add the extension.
#Get it
Hypertable ships in the Extension Kit ($59). See it live on the demo gallery.