Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
Sign up nowGet Fabric certified for FREE! Don't miss your chance! 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.
Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.
If you love stickers, then you will definitely want to check out our Community Sticker Challenge!
Check out the January 2026 Power BI update to learn about new features.
| User | Count |
|---|---|
| 63 | |
| 62 | |
| 42 | |
| 20 | |
| 18 |