Risk Matrix Pro — a Power BI custom visual by TCViz · Version 1.0.0.0 · Last updated: 16 September 2026
Risk Matrix Pro places every risk of a register on a likelihood × impact grid, coloured by score band. Pro adds where each risk is going: its residual position after controls, its target, how far it still is from that target, and your risk appetite drawn across the matrix.
Also on YouTube: www.youtube.com/watch?v=0ps6t6t70JY
| Well | Accepts | Limit | Purpose |
|---|---|---|---|
| Risk | Any text or ID field | 1 field | One marker per value. Short IDs (R01, R02…) read best inside the marker. |
| Category | Any grouping field | 1 field | Marker colours, legend and, in Pro, marker shapes. |
| Likelihood | Measure or numeric column | 1 field | Horizontal position. |
| Impact | Measure or numeric column | 1 field | Vertical position. |
| Residual likelihood / impact Pro | Measure or numeric column | 1 field each | Position after controls. Both are needed. |
| Target likelihood / impact Pro | Measure or numeric column | 1 field each | Position you aim to reach. Both are needed. |
| Tooltips | Measures | up to 5 | Extra values in the tooltip, with the model's format. |
Up to 1,000 risks are loaded. The limits are the same in Free and Pro.
Likelihood and impact can arrive in any of these forms — the visual detects which one with Grid → Input values → Auto, or you can set it:
| Input values | Example | Placed at |
|---|---|---|
| Levels | 3 | Level 3 |
| Fraction (0 to 1) | 0.45 on a 5 × 5 grid | Level 3 |
| Percent (0 to 100) | 45 on a 5 × 5 grid | Level 3 |
Grid size → Auto (from data) uses the highest level in your data, from 3 × 3 to 10 × 10. With fractions or percentages there is no natural maximum, so it uses 5 × 5. Choose a fixed size to override it.
A cell's score is likelihood × impact. The cell colour comes from its band:
| Band | Automatic rule | On a 5 × 5 grid |
|---|---|---|
| Low | up to 16% of the maximum score | 1 – 4 |
| Medium | up to 36% | 5 – 9 |
| High | up to 64% | 10 – 16 |
| Critical | above 64% | 20 – 25 |
With Custom thresholds Pro you set the score where Medium, High and Critical start, to match your own methodology.
By default the matrix stays clean: point at a risk, focus it with the keyboard or select it, and its path appears — a solid arrow for what has been achieved, a dashed arrow for what remains, a small circle for the other positions and a diamond for the target. Set Movement arrows → All risks to show every path at once.
A risk whose current score (residual, or inherent if there is none) is still above its target score carries a dashed red ring. The tooltip and the cell detail panel say whether the target is reached.
| Card | Setting | What it does |
|---|---|---|
| Grid | Grid size | Auto (from data), or 3 × 3 to 10 × 10. |
| Input values | Auto, levels, fraction or percent. | |
| Cell gap / corner radius | Spacing and rounding of the cells. | |
| Show cell score / risk count | Score top-left, number of risks top-right, and their colour. | |
| Data warnings | While editing (default), always or off. See Data warnings below. | |
| Score bands | Low / Medium / High / Critical | Colour of each band. |
| Custom thresholds Pro | Score where each band starts. | |
| Risk appetite Pro | Appetite score, line colour and width | A stepped line separating cells with a score up to the appetite from the rest. |
| Markers | Marker size | Markers shrink to fit a busy cell; beyond that a +n badge shows the rest. |
| Show labels / max characters / label color | Text inside the marker, fitted to its size. | |
| Marker color (fx: Pro) | Colour without a Category. With fx Pro, a rule or field value per risk. | |
| Shape by category Pro | Circle, square, diamond and triangle per category. | |
| Category colors | One colour per category | Shown when a Category field is present. |
| Movement and target Pro | Movement arrows | Selected and hovered risks (default), all risks, or off. |
| Place markers at | Inherent, residual or target position. | |
| Arrow color | Colour of arrows and position symbols. | |
| Flag risks above target / ring color | Dashed ring on risks that have not reached their target. | |
| Cell detail panel Pro | Open on cell click, background, text color, font size | Side panel listing every risk in the clicked cell. |
| Axes | Titles, level labels, font, size, color | Level labels are comma separated: Rare, Unlikely, Possible, Likely, Almost certain. |
| Legend | Show, position, font, size, text color | Click a legend entry to select all its risks. |
Paid settings and field wells are marked (Pro) in Power BI. Without a licence:
A yellow strip at the bottom-left tells you when:
By default it shows only while editing, because it is meant for the report author.
The grid is bigger than your data. Set Grid → Grid size → Auto (from data), or the size that matches your scale.
The input scale was detected differently from what you expect — for example probabilities stored as whole percentages. Set Grid → Input values explicitly.
Power BI is adding the likelihood of several rows. Make sure each risk appears once in your table, or set the field's summarisation to Don't summarize, Maximum or Average.
Arrows need both residual (or both target) fields, and by default they only show for the risk you point at or select. Check Movement and target → Movement arrows.
Labels are fitted to the marker. Use short IDs in Risk, increase Markers → Marker size, or raise Label max characters.
Check the relationship between the tables in Model view. Filtering from a fact table to a dimension table needs the cross-filter direction set to Both.
The visual detects the licence when the report is opened or refreshed. Microsoft notes it can take up to an hour for a new licence to be recognised: refresh the browser (F5) or close and reopen Power BI Desktop. A licence is required per user. If it persists, email us with your AppSource order reference.
No section matches your search.