Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
msimmonsmcse
Helper I
Helper I

Conditional Formatting a matrix

I have a matrix viz that shows revenue per year, one year for each column, with customers listed in each row. I applied a conditional format (or so I thought) to each cell based on the revenue number. (Cell Elements>Background Color). I was expecting to get a color gradient for each cell, applied row by row, so each client would show their high and low years of revenue filled with the definded background colors for high and low values. But the behavior I am getting is that the format applies the high and low color to the highest/lowest cell in the entire matrix. How do I get the high and low values for each row to show the proper colors?

 

Below is a screen shot with the customer names redacted. 

 

msimmonsmcse_0-1646088971353.png

 

1 ACCEPTED SOLUTION
v-jingzhang
Community Support
Community Support

Hi @msimmonsmcse 

 

Here is another workaround. When your data table is like below (if not, you can summarize company, year and revenue to get a table like below), 

vjingzhang_0-1646372896818.png

 

You can create a Rank column to rank revenues in different years among every company. 

Rank = 
RANKX (
    FILTER ( 'Table', 'Table'[Company] = EARLIER ( 'Table'[Company] ) ),
    [Revenue],
    ,
    ASC,
    DENSE
)

vjingzhang_1-1646373179995.png

 

Add another color column based on rank values. You can also create a similar measure for conditional formatting. 

Color = SWITCH([Rank],1,"#ABEBC6",2,"#F9E79F",3,"#FAD7A0",4,"#EDBB99")

vjingzhang_2-1646373578449.png

 

Format the background color based on Field value > Color column. 

vjingzhang_3-1646373843942.png

 

Hope this helps. 

 

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

View solution in original post

2 REPLIES 2
v-jingzhang
Community Support
Community Support

Hi @msimmonsmcse 

 

Here is another workaround. When your data table is like below (if not, you can summarize company, year and revenue to get a table like below), 

vjingzhang_0-1646372896818.png

 

You can create a Rank column to rank revenues in different years among every company. 

Rank = 
RANKX (
    FILTER ( 'Table', 'Table'[Company] = EARLIER ( 'Table'[Company] ) ),
    [Revenue],
    ,
    ASC,
    DENSE
)

vjingzhang_1-1646373179995.png

 

Add another color column based on rank values. You can also create a similar measure for conditional formatting. 

Color = SWITCH([Rank],1,"#ABEBC6",2,"#F9E79F",3,"#FAD7A0",4,"#EDBB99")

vjingzhang_2-1646373578449.png

 

Format the background color based on Field value > Color column. 

vjingzhang_3-1646373843942.png

 

Hope this helps. 

 

Best Regards,
Community Support Team _ Jing
If this post helps, please Accept it as Solution to help other members find it.

ebeery
Memorable Member
Memorable Member

@msimmonsmcse achieving what you're describing is not terribly straightforward, and probably is not possible using the built-in conditional formatting options.

However, the below video describes an approach to achieve this effect using some conditional formatting measures.

UNLEASH the full POTENTIAL of Conditional Formatting | ROW by ROW color scale in a MATRIX in PowerBI 

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors