Power BI is turning 10! Tune in for a special live episode on July 24 with behind-the-scenes stories, product evolution highlights, and a sneak peek at what’s in store for the future.
Save the dateEnhance your career with this limited time 50% discount on Fabric and Power BI exams. Ends August 31st. Request your voucher.
Hi everyone,
I have a similar matrix table to this one. I'm using KPI Name and Version as rows, and Month as a column. I want to do conditional formatting on the column month. I want to put a background color with this condition: I need to compare the two versions (A and B) for each KPI Name. So it's going to be something like (but it's not working):
Solved! Go to Solution.
Hi @ferk_23 ,
According to your description, KPI Name and Version as rows and Month as columns are used, and conditional formatting on rows is not supported by design. It is recommended that you create a table visual object.
(1)This is my test data.
(2)We can create a measure.
color =
var _a=CALCULATE(SUM('Table'[Month]),FILTER(ALL('Table'),'Table'[KPI Name]=MAX('Table'[KPI Name]) && 'Table'[Version]="A"))
var _b=CALCULATE(SUM('Table'[Month]),FILTER(ALL('Table'),'Table'[KPI Name]=MAX('Table'[KPI Name]) && 'Table'[Version]="B"))
return IF(_a>= _b,"#1AAB40", "#D64554")
(3)Set the conditional format.
(4)Then the result is as follows.
If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.
Best Regards,
Neeko Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi @ferk_23 ,
According to your description, KPI Name and Version as rows and Month as columns are used, and conditional formatting on rows is not supported by design. It is recommended that you create a table visual object.
(1)This is my test data.
(2)We can create a measure.
color =
var _a=CALCULATE(SUM('Table'[Month]),FILTER(ALL('Table'),'Table'[KPI Name]=MAX('Table'[KPI Name]) && 'Table'[Version]="A"))
var _b=CALCULATE(SUM('Table'[Month]),FILTER(ALL('Table'),'Table'[KPI Name]=MAX('Table'[KPI Name]) && 'Table'[Version]="B"))
return IF(_a>= _b,"#1AAB40", "#D64554")
(3)Set the conditional format.
(4)Then the result is as follows.
If the above one can't help you get the desired result, please provide some sample data in your tables (exclude sensitive data) with Text format and your expected result with backend logic and special examples. It is better if you can share a simplified pbix file. Thank you.
Best Regards,
Neeko Tang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
It worked! I have several months as columns, you also know if it's possible to iterate over the columns and find the column with the previous month? In this case would be October (bc we are in November). The month columns have this format: MMM'YY (Oct'23).
@ferk_23 , Try this out
DifferenceMeasure = IF(
CALCULATE(SUM(Table[Month]), Table[Version] = "A") > CALCULATE(SUM(Table[Month]), Table[Version] = "T"), "#1AAB40", "#D64554")
or
DifferenceMeasure = IF(
CALCULATE(SUM(Table[Month]), ALL(Table), Table[Version] = "A",Table[KPI Name]="Safety") > CALCULATE(SUM(Table[Month]), ALL(Table), Table[Version] = "T",Table[KPI Name]="Safety"), "#1AAB40", "#D64554")
Check out the July 2025 Power BI update to learn about new features.
This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.
User | Count |
---|---|
63 | |
63 | |
53 | |
39 | |
25 |
User | Count |
---|---|
85 | |
57 | |
45 | |
43 | |
38 |