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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Anonymous
Not applicable

conditional colouring by selection

Hi community, 

I have the following requirements: 

- Period (numeric, not as date) as filter selection

- periods greater than selected period should be blue coloured

- periods less than selected period should be grey coloured

 

Well, I have a measure called #SelectedPeriod (e.g. 202003) and period-column #MyPeriodField

 

Now, I'm trying to tell PBI something like this: 

IF #MyPeriodField is less than #SelectedPeriod than "#01B8AA" else "#333333"

 

The problem is I can't create a measure because I'm unable to use column-values or rather non-aggregated values in measures

AND 

calculated colums are fixed and can't be used in conditional formatting. 

 

So, do you have an idea how I could get PBI to format my table by selected period? 

 

 
 
201801201802201803201804201805201806201807
544564554645686456
4212454214541216

 

1 ACCEPTED SOLUTION
lkalawski
Memorable Member
Memorable Member

Hi inf1948,

To achieve what you described you must follow these steps:

  1. Create a separate table that will have the period dictionary and use it in the slider.
  2. Create a measure that will dynamically check whether the selected period is larger or smaller.

 

Measure = 
VAR _period = SELECTEDVALUE('Period'[Period])
VAR _tableperiod = SELECTEDVALUE('Table'[Period])
RETURN IF(_period > _tableperiod,0,1)

_period - dictionary, tableperiod - table with data

 

  • Use this measure in Conditional formatting.Ex3.png

The result (I used background color, but you can also use this for font color):

Ex1.pngEx2.png



_______________
If I helped, please accept the solution and give kudos! 😀

View solution in original post

3 REPLIES 3
lkalawski
Memorable Member
Memorable Member

Hi inf1948,

To achieve what you described you must follow these steps:

  1. Create a separate table that will have the period dictionary and use it in the slider.
  2. Create a measure that will dynamically check whether the selected period is larger or smaller.

 

Measure = 
VAR _period = SELECTEDVALUE('Period'[Period])
VAR _tableperiod = SELECTEDVALUE('Table'[Period])
RETURN IF(_period > _tableperiod,0,1)

_period - dictionary, tableperiod - table with data

 

  • Use this measure in Conditional formatting.Ex3.png

The result (I used background color, but you can also use this for font color):

Ex1.pngEx2.png



_______________
If I helped, please accept the solution and give kudos! 😀

Anonymous
Not applicable

awesome, thank you!

amitchandak
Super User
Super User

Create a measure and then use that in the conditional format of a font under advance control choose the field and use this measure

Color Date = if(FIRSTNONBLANK('Date'[datekey],blank()) <="201803","black","blue")

Color Date = if(FIRSTNONBLANK('Date'[date],TODAY()) <today(),"lightgreen","red")

Color sales = if(AVERAGE(Sales[Sales Amount])<170,"green","red")
Color Year = if(FIRSTNONBLANK('Date'[Year],2014) <=2016,"lightgreen",if(FIRSTNONBLANK('Date'[Year],2014)>2018,"red","yellow"))

 

Check steps

https://docs.microsoft.com/en-us/power-bi/desktop-conditional-table-formatting#color-by-color-values

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.