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
Capstone
Resolver I
Resolver I

conditional formatting by field not available for direct query

I have a direct query model and I want to conditional format a field (Worksite) based on hex values for that site. I have created a measure which gives the hex values for each site. But when I go to conditional formatting and select format by field value I cannot select the measure ( I cannot select any measure in the model). Is this a known issue ? I know I can do so in import mode and it worked successfully. Manually applying colours is not an option as there are too many charts which needs updating. Any ideas ?

1 ACCEPTED SOLUTION
TomMartens
Super User
Super User

Hey,

 

I can't confirm this, make sure you are using the latest Power BI Desktop version, I'm using the May 2019 release (check --> Help --> About).

 

Here you can see that I'm connected to a data model using direct query:

image.png

This directquery data source is a SQL Server 2017 database, but I can also confirm that this also works with other dirctquery datasources. 

Make sure that your measure returns a text string, this string has to be either

This is how I apply a measure for conditional formatting (here the background):

image.png

 

I choose: Format by "Field value":

image.png

I select the measure that returns the text encoded color that I want to apply to the background:

image.png

And this is how the table will look like:

image.png

 

And this is how the measure look liks:

vizAid Background Color -  Quantity = 
SWITCH(
    TRUE()
    , v_Quantity < 11000, [vizAid trafficlight bad]
    , AND([Total Quantity] >= 11000, [Total Quantity] < 15000) , [vizAid Color trafficlight maybe]
    , "Darkgrey"
)

This measure is referencing two other measures, these measures just define a color, like so:

vizAid trafficlight bad = "Crimson"

Hopefully this provides some ideas.

 

Regards,
Tom

 

 

 



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

View solution in original post

5 REPLIES 5
TomMartens
Super User
Super User

Hey,

 

I can't confirm this, make sure you are using the latest Power BI Desktop version, I'm using the May 2019 release (check --> Help --> About).

 

Here you can see that I'm connected to a data model using direct query:

image.png

This directquery data source is a SQL Server 2017 database, but I can also confirm that this also works with other dirctquery datasources. 

Make sure that your measure returns a text string, this string has to be either

This is how I apply a measure for conditional formatting (here the background):

image.png

 

I choose: Format by "Field value":

image.png

I select the measure that returns the text encoded color that I want to apply to the background:

image.png

And this is how the table will look like:

image.png

 

And this is how the measure look liks:

vizAid Background Color -  Quantity = 
SWITCH(
    TRUE()
    , v_Quantity < 11000, [vizAid trafficlight bad]
    , AND([Total Quantity] >= 11000, [Total Quantity] < 15000) , [vizAid Color trafficlight maybe]
    , "Darkgrey"
)

This measure is referencing two other measures, these measures just define a color, like so:

vizAid trafficlight bad = "Crimson"

Hopefully this provides some ideas.

 

Regards,
Tom

 

 

 



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

Hi @TomMartens ,

 

I've also arrived with this solution, but the problem is that I can only make it work without RLS when I apply RLS everything crashes. 

 

image.png

Sorry the message is half Spanish half English.

 

Any ideas why?

Thanks for the reply. Actually I should have said it's a live connection not direct query. (SSAS). I cannot pick any measure even when it's a text field. Have you tried doing it via live connection ?

Hey,

 

I can choose measures for conditional formatting in SSAS live connections (SSAS Tabular) no matter if they are defined in the model or created inside the report, report based measures have to be explicity set to datatype text. For this reason I assume you are using SSAS Multidimensional.

 

Regards,

Tom



Did I answer your question? Mark my post as a solution, this will help others!

Proud to be a Super User!
I accept Kudos 😉
Hamburg, Germany

Thank you, it worked !. It was really the measure not being formatted as text in the SSAS model even though it was giving text values. Have fixed it at the source and now its working fine !

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.

Top Solution Authors