Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
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
Result
In 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
Result
In 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."
User | Count |
---|---|
16 | |
15 | |
14 | |
12 | |
11 |
User | Count |
---|---|
19 | |
16 | |
14 | |
11 | |
9 |