Add. Table
The Add. Table well turns measures into extra cells drawn beside the marks — a summary column, a mean, a base size, a logo, anything that belongs next to the chart rather than inside it.
It works in every layout, and follows it:
- in the Bar, Stacked Bar and 100% Stacked Bar modes the fields are drawn as columns beside the bars, lined up with the bands of the category axis, so each value sits on its own row;
- in the Column, Stacked Column and 100% Stacked Column modes they become rows of cells, each one centered under its category. The field names run down the left of the chart instead of across the top.
Each field also chooses which side of the chart it is drawn on — see Before or after the chart.
Filling the well
Drop one measure per column into Add. Table. The order of the well is the order of the columns, left to right; the measure name becomes the column header.
Values are formatted with the measure's own Power BI format string, so a percentage stays a percentage and a currency keeps its symbol — nothing to configure.
The column editor
Formatting is per column, so it does not fit the standard formatting pane. In edit mode a gear icon appears in the top-right corner of the visual and opens the column editor, one block per column, in the official Power BI dialog:
| Section | What it holds |
|---|---|
| Format | Font family, size and color, bold / italic / underline, whether the header is shown, the Position of the column — before or after the chart — and its size: Column Width in the bar layouts, Row Height in the column layouts (0 = fitted to the font or the logo). Only the dimension that applies to the current layout is offered |
| Row box / Column box | A frame that makes the whole row (or column) stand out — see Row and column box |
| Logo | Whether the column holds a picture rather than a value, and how big to draw it — see Logo columns |
| Separator | A rule drawn on the leading edge of the column — a vertical one on its left in the bar layouts, a horizontal one above the row in the column layouts — and its color |
| Warning threshold | Low and high thresholds decorating the value — see Thresholds |
| Critical threshold | Blanks the row, keeps only the value, or marks it — see Thresholds |
Sections are collapsible; Format opens by default. At the bottom of the dialog, a JSON box shows the whole configuration: it can be copied to another report, or pasted back in to apply a set of columns in one go.
The editor writes its JSON into the Add. Table → Column Format (JSON) property of the formatting pane. Editing it by hand there works too, but the gear icon is the comfortable way. Renaming a measure keeps its formatting: when exactly one column disappears and exactly one appears, the visual treats it as a rename and moves the settings over.
Before or after the chart
Position, in the Format section, decides which side of the chart a field is drawn on. It is set per field, so a logo can sit in front of the bar while the base size stays behind it.
| Position | Bar layouts | Column layouts |
|---|---|---|
| After the chart (default) | to the right of the bars | below the columns, above the category labels |
| Before the chart | between the category labels and the bars | above the columns |
The category labels always stay on the outside: in Before mode they move over to make room, they are never covered. Space is reserved on both sides, so widening a column narrows the plot area rather than pushing anything out of the visual.
Row and column box
The box section frames a whole row (column layouts) or a whole column (bar layouts), its header included, to make it easier to read across — a base row in a light grey band, a key indicator outlined in the brand colour.
| Property | Description | Default |
|---|---|---|
| Border | A frame around the row / column, with its color and width | Off |
| Background | A fill behind the cells, with its color and transparency (0 % = opaque) | Off |
| Corner radius | Rounds the corners of the frame and of the fill | 4 px |
| Shadow | A soft drop shadow in the chosen color | Off |
The shadow is cast by what is painted: turn on a border or a background for it to show.
Logo columns
A field can carry a picture instead of a value — a brand logo next to each category, a flag, a small pictogram. The image is a base64 string, exactly like the one the threshold markers accept.
In the Logo section, Content chooses how the field is read:
- Auto (default) — the field is painted as an image when Power BI already knows it is one:
its Data category is set to Image URL in the model, or its values start with
data:image/. Otherwise it is text. In most cases there is nothing to change here. - Always an image (base64) — for a field holding a bare base64 blob, with no
data:image/png;base64,prefix and no data category. Such a value is indistinguishable from ordinary text, so Auto cannot recognise it. - Always text — forces the value to be written out, whatever the model says.
Sizing
You give one dimension and the picture keeps its proportions:
- Height (width adapts) (default) — Size is the height in pixels; the width follows the image's aspect ratio.
- Width (height adapts) — Size is the width; the height follows.
The free dimension is still bounded by the cell — the column width and the band thickness in the bar layouts, the band width and the row height in the column layouts. A picture so far out of proportion that it would spill onto the bars or onto its neighbour is scaled down to fit instead.
Logos read best before the chart: the picture then sits right between the category label and its bar.
Thresholds
Each column carries two independent threshold levels, both off by default. They exist for one recurring need in survey reporting: a result computed on too small a base should be flagged — or not published at all.
| Cell value | What happens |
|---|---|
| between the critical and the low warning threshold, or over the high one | the value is decorated — marker, colour, pill |
| below the critical threshold | the critical treatment applies — by default the whole row is blanked |
Thresholds are compared strictly: a value equal to a threshold is not flagged. Only numeric cells are tested; a blank or textual value never triggers anything.
Warning threshold
Tick Low threshold (value under) and / or High threshold (value over) and set their values. A cell outside the range is then decorated with any mix of:
- a Marker next to the value — Text (an emoticon, an exclamation mark, a short
sentence… with its own color), Image (base64) (pasted with or without the
data:image/png;base64,prefix), or No marker. Marker size is the font size of a text, the height of an image; - Color the value — the value itself is written in the chosen color;
- Pill behind the value — a rounded background behind the value, with its color and transparency.
The marker is drawn to the right of the value, and the pair stays centered in the cell.
Critical threshold
Tick Critical threshold, set the value, then pick what happens under it:
Blank the whole row (default) — the row is removed from the chart entirely: no bars, no data labels, no logos, no error bars, no tooltip, and no value in any additional column, not just this one. What remains is the category label, drawn as usual on the axis, and a replacement message centered on the row — typically "Base faible". The message may be left empty, in which case the row simply stays blank.
The value axis is rescaled on the rows that survive, so a hidden row no longer stretches the scale of the whole chart.
Blank the row except this value — the row is blanked the same way, but this value stays, written in the critical color next to the replacement message. Saying a base is too small is good; showing how far it is from the threshold is sometimes better.
Text next to the value / Image next to the value — the row is kept as it is and the value is marked, like the warning level but with its own text, image, size and color.
A row is blanked as soon as one column asks for it. Put the critical threshold on the column that carries the base, and every other column on that row goes away with it.
When every row is below the threshold
Repeating the same sentence on each band would be noise. When all the rows are blanked, the visual draws the message once, centered on the whole chart. The additional table is not drawn at all — no headers, no reserved space on either side — and the value axis disappears with the bars. The category axis stays: those categories are still perfectly valid, they simply have nothing publishable to show.
Example
A satisfaction chart with three additional columns — a top-2-boxes percentage, a mean, and the base — where results computed on fewer than 1 700 respondents must not be published:
- Put the three measures in Add. Table.
- Open the gear icon, expand Critical threshold on the Base column.
- Tick Critical threshold, set Critical when value is under to
1700, leave Then on Blank the whole row, and typeBase faibleas the replacement message. - Still on Base, expand Warning threshold, tick Low threshold, set it to
2000and pick a small warning image or a⚠text marker — or tick Pill behind the value to highlight the base itself.
Rows under 1 700 now show only their label and Base faible; rows between 1 700 and 2 000 keep their bars and carry the warning marker next to the base.
Notes
- The space reserved beside the chart is the sum of the column widths (or of the row heights in the column layouts), so widening a column narrows the plot area rather than pushing anything out of the visual.
- In the bar layouts, headers wrap over at most three lines and are truncated with an ellipsis beyond that; the space above the plot area grows to fit the tallest header. In the column layouts they are single-line, right-aligned in the left margin, and truncated past a third of the chart width.
- A measure that returns no value for a given category leaves the cell empty — it does not count as a threshold breach.