> AI agents: this is one page from Mammoth Analytics documentation. The index of all pages as Markdown is https://mammoth.io/docs/llms.txt. Append `.md` to any docs URL, or send `Accept: text/markdown`, to get Markdown.

# Edit dashboard tables, KPI cards, insights and text

> Edit Mammoth dashboard tables (Summary, Cross-tab, Records), KPI cards, the Key insights section, text blocks with live tokens, and a published glossary.

Besides charts, a dashboard can hold tables, a strip of KPI cards, a **Key insights** section and text blocks you write yourself, plus a glossary you can publish with the board. Click the object on the canvas in the dashboard editor (or **Edit** on its hover toolbar), and its editor opens in the right-hand panel. Anyone with edit access to the board can change them.

Changes preview live on the canvas. **Save changes** keeps them, and **Cancel** puts things back the way they were. In Preview and on the published board, clicking an object doesn't open an editor. See [Edit with AI in the dashboard editor](https://mammoth.io/docs/learn/dashboards/editor/) for the editor as a whole.

## Add a table to a dashboard

Add a table from **Add** → **Chart** → **Table**, or ask the chat for one. To edit it, click the table on the canvas. The panel opens with the table's title, or **Edit table** if it has none. The footer reads "Numbers are always computed from your data — you shape how the table reads."

### Choose a table layout: Summary, Cross-tab or Records

The first group in the panel is **Layout**. It sets the table's shape.

| Layout | What it shows |
|---|---|
| **Summary** | One measure aggregated by a dimension, with a % of total. |
| **Cross-tab** | A grid of one dimension against another. Pairs well with a heatmap. |
| **Records** | The raw matching rows, one per line, with no aggregation. |

Under **Built from**, you pick the fields from dropdowns:

| Control | Layouts | What it does |
|---|---|---|
| Dimension dropdown | Summary, Records | The dimension the rows are grouped by. |
| Two dimension dropdowns | Cross-tab | The rows and the columns of the grid. When you switch to Cross-tab, the rows take the current dimension and the columns take the next one. |
| Measure dropdown | All | The number in the cells. |
| **Sum** / **Average** | Summary, Cross-tab | How the measure is rolled up. |
| **Rows** (stepper) | Summary, Records | How many rows show, from 3 to 25. The default is 10, or 12 for a Records table. |
| **Sort rows** | Summary | **High → low** (default) or **Low → high**. |

Cross-tab tables have no row count or sort. The panel can't choose which source columns a Records table lists, or their order. Ask the chat to change those.

Example: to show revenue for the top 5 regions:

1. Choose **Summary**.
2. Set the dimension to Region and the measure to Revenue.
3. Set the **Rows** stepper to 5.
4. Keep **Sort rows** on **High → low**.

### Format table columns as currency, percent or data bars

Open the **Style** group for table-wide options:

- **Totals row** adds a totals row. On by default for Summary and Cross-tab tables.
- **Zebra striping** shades alternate rows. On by default. It's turned off while any column uses a heatmap.

To format one column, click its header in the preview (**Live preview · click a column to format it**). The column inspector opens:

| Option | What it does |
|---|---|
| **Column name** | Renames the column header. |
| Move left / Move right | Changes the column's position. |
| Hide column | Removes the column from the table. Not available on the last remaining column. |
| **Format** | **Number**, **Currency** or **Percent** (numeric columns). Currency uses the board's currency symbol, or $ if none is set. |
| **Decimals** | 0, 1 or 2 (numeric columns). |
| **Align** | Left or right. Numbers align right by default. |
| Data bar (bars icon) | Draws a bar in each cell, sized by its value (numeric columns). |
| Heatmap (flame icon) | Shades each cell by its value (numeric columns). |

Some formatting is on from the start. In a Summary table, the second column gets a data bar. In a Cross-tab, the numeric columns get a heatmap.

In a Summary table, **Add column** adds the next unused measure as an extra column. The button disappears when there are no measures left.

The panel has no way to bring back a hidden column once you save. If you hide one by mistake, click **Cancel** before saving.



## Add, remove and edit KPI cards

Click the KPI strip on the canvas to open **Edit KPIs**, where you edit, add and remove the cards. The panel says: "The number is always computed from your data — you choose the metric, format and labels."

### Change the look of the KPI strip

**Look** sets the card style: **Cards**, **Accent**, **Tinted** or **Strip**. It applies to the KPI strip on every page, and it saves as soon as you pick it, without waiting for **Save changes**.

### Let readers see the rows behind a KPI card

Under **Readers can**, the **See the rows** toggle lets a reader click a card to see the records behind it. It applies to the whole strip, and only signed-in viewers get it. It appears only where the board can serve rows. See [What readers can do with a chart](https://mammoth.io/docs/learn/dashboards/chart-reader-actions/).

### Edit the cards in the strip

The **Cards** list shows every card, and a star marks the highlighted card.

- Click a card to edit it.
- Click **Add KPI** to add one.
- Click a card's bin (for example "Remove West revenue") to delete it.

The count at the foot of the panel reads, for example, "4 of 8 cards". Each card has these fields:

| Field | What it does |
|---|---|
| **Metric** | The measure the card shows. The value is always aggregated from the data. |
| **Aggregation** | **Sum** (default), **Average**, **Min**, **Max**, **Count**, **Distinct**, **Median** or **Std dev**. **Distinct** counts unique values. |
| **Label** | The card's caption. |
| **Decimals** | 0, 1 or 2. |
| **Prefix** / **Suffix** | A symbol before or after the number, such as $ or %. Clear the box to show no symbol. |
| **Show delta** | Shows the ↑ / ↓ % change against last month. On by default. |
| **Sparkline** | Shows a small trend line under the value. On by default. If sparklines are turned off for the page, this is disabled with "Sparklines are hidden for this page — ask the assistant to show sparklines." |
| **Highlight** | Makes this the hero card. Only one card can be highlighted. |

Some card settings are only available through the chat, not the panel: which direction counts as good (this sets the delta colour), averages per entity, and a card icon.

### Limit a KPI card to some rows, such as one region

**Rows this card reads** shows which rows feed the card, for example "Every row" or "Region = West". Click **Add condition** to add a field, an operator and a value; sample values appear as chips you can click. Conditions you leave half-finished are dropped when you save.

Example: to show West-region revenue on its own card:

1. Click **Add KPI**.
2. Set **Metric** to Revenue and **Label** to "West revenue".
3. Add the condition Region = West.

## Choose which key insights appear on a dashboard

The **Key insights** section lists findings Mammoth computes from your data. Click it on the canvas to open **Edit key insights**, where you choose how many show and which kind come first. "Pin to lock it above the line, hide to drop it — every number stays computed from your data."

To turn the section on or off, use **Design** → **Format** → **Sections**. See [Themes](https://mammoth.io/docs/learn/dashboards/themes/).

### Set how many key insights show and their look

- **Look**: **List**, **Tinted**, **Cards**, **Numbered** or **Banner**. Like the KPI look, it saves immediately and applies to every page.
- **How many**: a − / + stepper showing how many are shown and how many are available. The minimum is 1. The maximum is the number available, so hiding insights lowers it.

### Pick the focus of key insights

**Focus** decides which kind of insight ranks first:

| Focus | What it favours |
|---|---|
| **Auto** | Mammoth picks the most newsworthy mix for this data. |
| **Leaders** | Who's winning and by how much: ranks, gaps, dominance. |
| **Momentum** | What's moving: growth, spikes, month-over-month shifts. |
| **Risk** | What needs attention: laggards, declines, concentration. |
| **Mix** | A balanced spread across every kind of insight. |

### Pin or hide a kind of insight

**What will appear** lists the insights in ranked order, with a **cut line** after the number you chose to show. Each row has a type tag (leader, gap, momentum, laggard, concentration, peak, quality or spread) and **Pin** and **Hide** buttons.

- **Pin** keeps that insight above the cut line.
- **Hide** drops it. Hidden insights move to the **Hidden** tray, where **Show** brings them back.

Pin and Hide act on the type tag, not on a single row. Hiding one momentum insight hides every momentum insight, so think of it as "hide this kind of insight".

If nothing matches, the list reads "No insights match — try a different focus, or unhide some below."

When the title band uses the board's lead insight as its subtitle, that insight appears under **In the header** instead of in the list. To list it in the section again, edit the title band and clear **Use the board’s lead insight**. See [Title band and cover page](https://mammoth.io/docs/learn/dashboards/title-band-and-cover/).

Some boards have insights written for them by the AI. For those, the panel shows only the count and the note "These insights were written for this dashboard. Choose how many appear." There is no **Focus**, **Pin** or **Hide**.

## Add a note, caveat or source text block

A text block holds words you write: a note, a caveat, a source line, next steps. It isn't read from the data, so filters never change it.

Add one from **Add** → **Chart**, then the **Text** tile. Searching the gallery for "caveat", "methodology", "source" or "note" also opens the Text tile with that style already chosen. To edit a text block later, click it on the canvas.

### Choose a text block style

| Style | Use it for |
|---|---|
| **Heading** | Dividing the page. Type and a rule, not a card. |
| **Lead** | The board's answer in one sentence, above everything. |
| **Note** | Commentary on what the numbers mean. This is the default. |
| **Callout** | A limit on what the numbers cover (a caveat). |
| **Reference** | How something was counted (methodology). |
| **Source** | Where the data came from. |
| **Steps** | What happens next, and who is doing it. |
| **Ask** | A question a reader can run for themselves. |

### Write and format the text

- **Heading**: optional, up to 120 characters. Not shown for the Heading and Ask styles.
- **Text**: with **Formatting** buttons for **Bold**, **Italic**, **Link** and **Bulleted list** (no list for Source). You can also type the markup: `**bold**`, `_italic_`, `- ` for list items and `[links](url)`.
- **Steps** style: one row per step (up to 200 characters), with an **Owner** box (up to 60). The owner is free text, not an assignment.
- **Ask** style: **Questions**, one per line. A new blank row appears as you type. A reader who clicks a question opens the Q&A page with it already asked. If the board has no Q&A page, the questions show but don't click through. See [Explore and Q&A pages](https://mammoth.io/docs/learn/dashboards/explore-and-qa/).

An empty block can't be added. The footer reads "Write something to add it".

### Show the last updated date automatically with live tokens

A live token is a placeholder the board fills in every time it renders, so the line never goes out of date. Click **{ }** ("Insert something the board fills in") in the text editor and pick one. The same button is on a chart's **Add a caption** box. See [Chart style, annotations and captions](https://mammoth.io/docs/learn/dashboards/chart-options/).

| Token | Fills in |
|---|---|
| `{updated}` | When this board was last built |
| `{filters}` | What the reader has filtered to |
| `{range}` | The period the data covers |
| `{rows}` | How many rows it covers |
| `{dataset}` | The dataset this board reads |

For example, a Source block reading "Data from {dataset}, updated {updated}" stays correct after every refresh.

- The menu only offers tokens this board can answer. For example, there is no `{range}` on a board without a date field.
- If any token in the text can't be resolved, the whole text shows "(couldn’t be determined)". Hovering it explains which token the board can't determine.
- Braces that aren't tokens print as ordinary text.

## Publish a glossary of terms with a dashboard

A glossary publishes definitions of your terms with the board. Readers get:

- a **Glossary** link in the header that opens the list of terms;
- the first use of each term on the board underlined, with its definition on hover;
- a printed **Glossary** section at the end of the last content page, for PDF and print.

To set it up:

1. Click the title band.
2. Under **What a reader can ask**, find **Publish a glossary**. Next to it are the term count ("No terms yet" when empty) and **Edit terms**.
3. Click **Edit terms** to open the **Glossary** dialog ("These definitions travel with the board").
4. Fill in each row's **Term** and "What it means on this board". **Add a term** adds a row, and the **Remove** bin deletes one.
5. Click **Save**, or **Cancel**.

**Restore from context** appears when the board's attached context files define terms. If you have made edits, it asks "Replace every term with the context's definitions?" first.

How the glossary behaves:

- The **Publish a glossary** checkbox stays disabled until there is at least one term. **Edit terms** is always available.
- Saving a list with terms turns publishing on. Saving an empty list turns it off.
- Rows with only a term or only a definition are dropped when you save, with a message such as "One unfinished term was not saved".
- Until you edit the list, the board publishes the terms from its context files and follows changes to them. Terms from context show the context's name as their source.
- After your first edit, your list is used as it is. Rewording a context term removes its source credit.

See [Give the AI context](https://mammoth.io/docs/learn/dashboards/context/) for context files.



## Limits

| Item | Limit |
|---|---|
| Table rows (Summary, Records) | 3 to 25. Default 10, or 12 for Records |
| KPI cards per strip | Up to 8, and at least one must remain. A board that already has more than 8 shows its own count as the limit. |
| Highlighted KPI cards | One |
| Key insights shown | At least 1, at most the number available |
| Text block heading | Up to 120 characters |
| Step text / Owner | Up to 200 / up to 60 characters |

## Related

- [Add and change charts](https://mammoth.io/docs/learn/dashboards/charts/): add tables and text from the chart picker.
- [Chart style, annotations and captions](https://mammoth.io/docs/learn/dashboards/chart-options/): captions under a single chart.
- [Title band and cover page](https://mammoth.io/docs/learn/dashboards/title-band-and-cover/): the lead insight and the glossary switch.
- [Themes](https://mammoth.io/docs/learn/dashboards/themes/): turn the Key insights section on or off.
- [Give the AI context](https://mammoth.io/docs/learn/dashboards/context/): context files that feed the glossary.

---
Source: https://mammoth.io/docs/learn/dashboards/tables-kpis-text.md · Updated: 2026-11-08
