Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.
Register now!The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more
hi,
Is it possible to create a matrix like this? Clean with multiple expansions?
Solved! Go to Solution.
Hi @soderqvistn ,
Thanks for rohit1991 and danextian reply.
You can try the following steps and here is sample data
| First Level | Second Level | Category | Values | Third Level |
| First | Second | A | VALUES | Third |
| First | Second | A | VALUES | Third1 |
| First | Second | B | VALUES | Third |
| First | Second | B | VALUES | Third1 |
| First | Second | C | Third | |
| First | Second | C | Third1 | |
| First | Second | D | Third | |
| First | Second | D | Third1 | |
| First | Second | E | Third | |
| First | Second | E | Third1 | |
| First | Second | F | 55 | Third |
| First | Second | F | 88 | Third1 |
| First | Second | G | Third | |
| First | Second | G | Third1 | |
| First | Second | G | Third |
Create a matrix
Create a mesure
Icons =
IF(
SELECTEDVALUE('Table'[Category]) = "G",
"data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <circle cx='50' cy='50' r='40' stroke='Green' stroke-width='4' fill='green' /> </svg>"
)
Change the mesure data category to Image URL
Apply the measure to icon
Final output
Best regards,
Albert He
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi @soderqvistn ,
Thanks for rohit1991 and danextian reply.
You can try the following steps and here is sample data
| First Level | Second Level | Category | Values | Third Level |
| First | Second | A | VALUES | Third |
| First | Second | A | VALUES | Third1 |
| First | Second | B | VALUES | Third |
| First | Second | B | VALUES | Third1 |
| First | Second | C | Third | |
| First | Second | C | Third1 | |
| First | Second | D | Third | |
| First | Second | D | Third1 | |
| First | Second | E | Third | |
| First | Second | E | Third1 | |
| First | Second | F | 55 | Third |
| First | Second | F | 88 | Third1 |
| First | Second | G | Third | |
| First | Second | G | Third1 | |
| First | Second | G | Third |
Create a matrix
Create a mesure
Icons =
IF(
SELECTEDVALUE('Table'[Category]) = "G",
"data:image/svg+xml;utf8, <svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'> <circle cx='50' cy='50' r='40' stroke='Green' stroke-width='4' fill='green' /> </svg>"
)
Change the mesure data category to Image URL
Apply the measure to icon
Final output
Best regards,
Albert He
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly
Hi,
Use a Matrix Visual: Add hierarchical fields for rows (e.g., First → Second). Values will populate as columns.
Add Conditional Formatting: Use Icons (like green circles) for indicators under your values column. Go to Format > Conditional Formatting > Icons.
Set Expand/Collapse: The Matrix visual supports expandable and collapsible rows by default.
Result: Clean, hierarchical, expandable matrix with visual indicators.
Assuming the second and third are row fields, they will have to be in in their own hierarchy and will be in another row.
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 63 | |
| 55 | |
| 42 | |
| 41 | |
| 23 |
| User | Count |
|---|---|
| 171 | |
| 136 | |
| 119 | |
| 79 | |
| 54 |