Significance
Every series is compared to one reference series, category by category. The question the card answers is "is this slice a significantly bigger share here than in the reference?".
The card runs up to three independent tests. A General group holds the settings they share and switches each test on; each test then has its own group.
General
| Property | Description | Default |
|---|---|---|
| Activate significance tests | Master toggle | Off |
| Significance Level | 90 %, 95 % or 99 % | 95 % |
| Test On | Shares or Means | Shares |
| Variance Method | Pooled or Separate (shares only) | Pooled |
| Test 1 / Test 2 / Test 3 | None, vs. Reference series or External reference | Test 1: vs. Reference series — Tests 2 and 3: None |
| Icon Size (px) | Size of the icons and texts | 12 |
Test 1, Test 2, Test 3
| Property | Description | Default |
|---|---|---|
| Reference series (regex) | vs. Reference series — picks the reference by its legend name | (empty) |
| Reference measure (regex) / Apply to measure (regex) | External reference — see External reference | (empty) |
| Match status | Read-only: what was resolved, or why nothing was | — |
| Display mode | Icon, Slice outline, Label background or Text | Icon |
| Positive / Negative color | Colors of the two directions | Green / red |
| Custom icon positive / negative | Base64 images replacing the default arrows — Icon mode | (empty) |
| Positive / Negative text | Texts written for the two directions — Text mode | + / - |
Test 1 keeps the settings of the former one-test card, so a report built before the three tests keeps its test unchanged.
What is compared
On a pie the quantity that compares across charts is the share, not the raw value: two
pies built on different bases are only comparable once each slice is expressed as a fraction
of its own total. The Shares test therefore runs a two-proportion test on
value / series total, which is already a proportion — no rescaling of percentages is
applied here.
The Means test keeps the raw values and uses the Standard Deviation field, since a mean is not a share.
Slices of the same pie are never tested against each other: parts of one total are not independent, and a two-sample test between them would be wrong.
Requirements
The Base field must be filled with the sample size behind each slice. Without it the
vs. Reference series tests are disabled and Match status says so (an external reference
carrying its own ttest or signif needs no base). A slice whose base is missing or zero on
either side of the comparison is left untested.
Reference series
The reference is chosen by a case-insensitive regular expression on the legend name — for
example Total or ^Market$. The first matching series wins, and it is itself excluded
from the decoration. Match status reports the resolved series, an empty match, or an
invalid expression.
External reference
A test set to External reference compares each slice with a measure of the Significance
reference role, evaluated by Power BI for that same slice — last year, a benchmark, another scope —
without that data having to be in the chart. The measure returns a small JSON that tells the visual
either what to test ({"val", "n"}, {"val", "n", "stddev"}) or the result to display
({"ttest"}, {"signif"}). See External reference.
On a pie the test runs on shares: with {"val", "n"}, val must be a share (0..1) as well.
Display modes
| Mode | Result |
|---|---|
| Icon | A ▲ or ▼ just outside the slice, replaceable by your own base64 images |
| Slice outline | The slice border takes the color of the direction |
| Label background | The data label of the slice gets a colored background |
| Text | A short text (+ / - by default, or any letter or emoji) in the color of the direction, just outside the slice |
When several tests decorate the same slice with icons or texts, they queue up outwards. With several Slice outline tests on one slice, the first one draws the border.
Slice outline is overridden on any slice that the Highlight card is outlining — the highlight is the louder signal and wins the border.