cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Microsoft
Microsoft

Function 'FORMAT' is not supported in DirectQuery mode

I'd really like to format the aggregated number I get from my data source.  It's a large number that could use a thousands separator to make it more human readable. 

 

But after discovering the FORMAT function, and trying to use it in a report with DirectQuery, I'm hit with the following error message:

 

Function 'FORMAT' is not supported in DirectQuery mode

 

As an unacceptable workaround I found, which is to Import the data instead of using DirectQuery (my data source is too large to be importing the data), here is what I'm after:

 

ThousandsSeparator.PNG

Here's the formula:

 

TotalCustomersFormatted = FORMAT(SUM(AggregatedTotalCustomers[TotalCustomers]), "#,###")

 

We could really use the FORMAT function in DirectQuery mode.

1 ACCEPTED SOLUTION

Accepted Solutions
Highlighted
Microsoft
Microsoft

There are two potential solutions:

 

1. If all you want is to have a thousands separator, you can set the formatting on your measure:

 

2. You can use the Format function in DQ mode if you go to Options -> DirectQuery and click "Allow unrestricted measures in DirectQuery mode".  Note that this will enable other functions whose performance is poor in DirectQuery mode, so save often.

 

I'm not sure why the Format function would be disabled, though.  I'll inquire.

 

 

View solution in original post

9 REPLIES 9
Highlighted
Super User IV
Super User IV

Can you use the Paintbrush icon to change the format? Click visual, click paintbrush icon, data label, set Display to None and Decimal to 0?


---------------------------------------

@ me in replies or I'll lose your thread!!!

I have a NEW book! 
DAX Cookbook from Packt
Over 120 DAX Recipes!




Did I answer your question? Mark my post as a solution!

Proud to be a Super User!




Highlighted
Microsoft
Microsoft

There are two potential solutions:

 

1. If all you want is to have a thousands separator, you can set the formatting on your measure:

 

2. You can use the Format function in DQ mode if you go to Options -> DirectQuery and click "Allow unrestricted measures in DirectQuery mode".  Note that this will enable other functions whose performance is poor in DirectQuery mode, so save often.

 

I'm not sure why the Format function would be disabled, though.  I'll inquire.

 

 

View solution in original post

Highlighted

Meant to include this screenshot in my previous post:

 

Formatting.png

Highlighted

I inquired about why the FORMAT function is disallowed in DQ mode, and the reason is because, if it is used unwisely, it could cause a performance issue.  Specifically, we cannot rely on the backend datasource to do the formatting.  So, if you were to use it within a table scanning function, that would force the calculation engine to request all the rows of data from the datasource so that the formatting could be performed on each row locally.  This would be the case if you had a measure like this:

 

=AVERAGEX(BigTable, LEN(FORMAT([Value],"#,###")))

 

This example is utterly contrived, and I can't think of a non-contrived example.  I think it is vastly more common to use FORMAT on the final result, which is perfectly safe.  So, you can safely use "Allow unrestricted measures in DirectQuery mode" for your scenario.

Highlighted

@JeffDuzak, more than a performance concern, I think the problem with using FORMAT() rather than the measure metadata is that a measure using FORMAT() will run into issues as input to another numeric function. For example, if I have two FORMAT()ed measures, and I want to add their values together, I'd run into problems with calling addition on strings.

Highlighted

I agree, that's a problem with using the FORMAT function, and I agree, it's better to set a format on the measure instead of using the FORMAT function.

 

The performance concern only related to the question of why the FORMAT function is disabled by default when you're in DirectQuery mode.

Highlighted

Solution 2 is the one I went with:

 

FormatInDirectQuery.PNG

Highlighted

Don't see this option in Power BI Desktop anymore. Is there a modern option?

Highlighted

image.png

 

Why I only have this option? Please advise. Thank you

Helpful resources

Announcements
Community Conference

Power Platform Community Conference

Check out the on demand sessions that are available now!

Community Conference

Microsoft Power Platform Communities

Check out the Winners!

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Top Kudoed Authors