Forum Discussion
Adding different Colours for different Row headers in Matrix in Power BI.
- 1 year ago
Hi srinivas_fabric,
Thanks for reaching out to the Microsoft fabric community forum.
I recreated the sample data using the screenshot you provided.
Unpivot the Data
In Power Query, select the columns 2022, 2023, and 2024, right-click and choose "Unpivot Columns," then rename the resulting columns to Product, Year, and Sales.Create a Row Color Measure
Measure:
RowColor =SWITCH(
SELECTEDVALUE('Sales'[Product]),
"Smartphones", "#FFCCCC", // Light Red
"Laptops", "#CCE5FF", // Light Blue
"Tablets", "#D5F5E3", // Light Green
"Headphones", "#FFF2CC", // Light Yellow
"Smartwatches", "#E6CCFF", // Light Purple
"#FFFFFF" // Default White
)
Build the matrix by placing Product in Rows, Year in Columns, and adding both Sales and Product to Values (the second Product is for coloring). Then, apply conditional formatting by clicking the dropdown on the second Product field, choosing Conditional formatting > Background color, and setting it to format by field value using the RowColor measure.Please go through the screenshot and pbix file for detailed information.
If I misunderstand your needs or you still have problems on it, please feel free to let us know.
Best Regards,
Menaka.
Community Support Team
Hi srinivas_fabric ,
To add different colors for different row headers in a Power BI matrix, you can create a separate color mapping table and use that for conditional formatting. For example, create a table named ProductColors with the following structure:
| Product | Color Code |
| Product A | #FFCCCC |
| Product B | #CCE5FF |
| Product C | #D5F5E3 |
In your main data model, if you have a table with a Product column, you can either relate it to ProductColors or just use a lookup in your DAX. Create a measure to retrieve the color for each product like this:
RowHeaderColor =
LOOKUPVALUE(
ProductColors[Color Code],
ProductColors[Product],
SELECTEDVALUE(YourMainTable[Product])
)
Then, in the matrix visual, instead of placing Product in the Rows section, place it in Values so you can apply conditional formatting. Use the RowHeaderColor measure for background color formatting by choosing "Format by field value" and selecting the measure. Power BI doesn't support directly coloring row headers, so this method fakes the header look by treating the label as a value and styling it accordingly.
Best regards,
Thank you for your Solution. Please let me explain by appling on this sample file.