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! I'm trying to do some conditional formatting on my matrix visual. There are a few conditions that I need to have:
1) If value > 100%, colour red
2) Based on the above, all months before the latest month that is red needs to be red too
3) Everything else that is in the first 2 months to be yellow
By creating a measure, I could accomplish 1) and 3), but I need some tips on how to accomplish 2).
Below is a sample data, of which i need the white cells outlined in red to be shaded in red.
Thanks!
Solved! Go to Solution.
Thank you for the reply @KHMJ
Here is the correct measure
Conditional Formatting =
VAR CurrentMonth =
SELECTEDVALUE ( Table[Month Index] )
VAR T1 =
CALCULATETABLE (
Table,
REMOVEFILTERS (
Table[Year - Month],
Table[Year Month Index],
Table[Month Index]
)
)
VAR T2 =
SUMMARIZE ( T1, [Month Index], "%Load", [% Load] )
VAR T3 =
FILTER ( T2, [%Load] > 1 )
VAR LastMonthAbove100 =
MAXX ( T3, [Month Index] )
VAR Result =
IF (
CurrentMonth <= LastMonthAbove100,
"#ff7276",
IF ( CurrentMonth IN { 2, 3 }, "#ffa500", "#f8f8ff" )
)
RETURN
ResultIn T1 variable, please make sure to remove the filter from all the columns related to year month.
Have a great day!
Ho @KHMJ
can you please share some insensitive sample data to work with? What is the code for % Load?
Hi @tamerj1 ,
These are 2 columns that I've created:
Cumulative Load = CALCULATE(SUM(Table[Qty]), FILTER(ALLEXCEPT(Table,Table[Product]),Table[Month Index]<=EARLIER(Table[Month Index])))
Cumulative Capacity = CALCULATE(SUM(Table2[Qty]), FILTER(ALLEXCEPT(Table2,Table2[Product]),Table2[Month Index]<=EARLIER(Table2[Month Index])))
Afterwhich, the measure was created from the 2 columns:
Thank you for the reply @KHMJ
Here is the correct measure
Conditional Formatting =
VAR CurrentMonth =
SELECTEDVALUE ( Table[Month Index] )
VAR T1 =
CALCULATETABLE (
Table,
REMOVEFILTERS (
Table[Year - Month],
Table[Year Month Index],
Table[Month Index]
)
)
VAR T2 =
SUMMARIZE ( T1, [Month Index], "%Load", [% Load] )
VAR T3 =
FILTER ( T2, [%Load] > 1 )
VAR LastMonthAbove100 =
MAXX ( T3, [Month Index] )
VAR Result =
IF (
CurrentMonth <= LastMonthAbove100,
"#ff7276",
IF ( CurrentMonth IN { 2, 3 }, "#ffa500", "#f8f8ff" )
)
RETURN
ResultIn T1 variable, please make sure to remove the filter from all the columns related to year month.
Have a great day!
This works, thank you!
Hi @KHMJ
it depends on the current measure. We meed to modify the existing one not to add a new measure. Can share the code that you are using right now?
Hi @tamerj1 ,
I have a month index that is tied to the months now (i.e. 2022-03 has index 1, 2022-04 has index 2, 2022-05 has index 3 etc).
My current measure for the formatting is:
Hi @KHMJ
You may try the following
Conditional Formatting =
VAR CurrentMonth =
SELECTEDVALUE ( Table[Month Index] )
VAR LastMonthAbove100 =
CALCULATE (
MAX ( Table[Month Index] ),
[% Load] > 1,
REMOVEFILTERS ( Table[Month Index] )
)
RETURN
IF (
CurrentMonth <= LastMonthAbove100,
"#ff7276",
IF ( CurrentMonth = 1 || CurrentMonth = 2, "#ffa500", "#f8f8ff" )
)Or
Conditional Formatting =
VAR CurrentMonth =
SELECTEDVALUE ( Table[Month Index] )
VAR LastMonthAbove100 =
CALCULATE (
MAX ( Table[Month Index] ),
[% Load] > 1,
REMOVEFILTERS ( Table[Month Index] )
)
RETURN
IF (
CurrentMonth <= LastMonthAbove100,
"#ff7276",
IF ( CurrentMonth IN { 1, 2 }, "#ffa500", "#f8f8ff" )
)
Thanks @tamerj1! I tried and got the following error message though..
"A function 'PLACEHOLDER' has been used in a True/False expression that is used as a table filter expression. This is not allowed."
The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!
| User | Count |
|---|---|
| 19 | |
| 13 | |
| 9 | |
| 4 | |
| 4 |
| User | Count |
|---|---|
| 29 | |
| 26 | |
| 16 | |
| 11 | |
| 10 |